首页 > 解决方案 > Django 从 .values_list 查询中删除重复项,同时保留顺序

问题描述

我有一个模型说它MyModel包含一个 CharField type。该模型具有应保留的默认元排序。我正在使用以下查询来获取类型列表 -

MyModel.objects.all().values_list('type', flat=True).distinct()

但是,这些类型正在重复。我可以,.order_by('type').distinct()但这会改变我不想要的顺序。有什么方法可以按顺序获取类型列表,而无需在 python 中手动创建列表?也欢迎替代更快的解决方案。

Django 版本 - 1.11

标签: pythondjangodjango-queryset

解决方案


你可以试试这个

MyModel.objects.all().values('type', flat=True).order_by('type').distinct()

它会为你工作


推荐阅读