Python django,distinct()不正常

Python django,distinct()不正常,python,django,Python,Django,由于某些原因,没有消除重复值 records = Records.objects.all() records2 = records.values_list('columna','columna').distinct() print records2 我一定是做了些蠢事我的解决方案是将值列表强制转换为一个集合以删除重复项,然后再返回到列表您是否使用任何顺序?也许您已经在模型的元类中设置了默认顺序?请看这里的注释:我不认为我在使用django pyodbc。我使用的是mysql,在我的查询中没有使

由于某些原因,没有消除重复值

records = Records.objects.all()
records2 = records.values_list('columna','columna').distinct()
print records2

我一定是做了些蠢事

我的解决方案是将值列表强制转换为一个集合以删除重复项,然后再返回到列表

您是否使用任何顺序?也许您已经在模型的元类中设置了默认顺序?请看这里的注释:我不认为我在使用django pyodbc。我使用的是mysql,在我的查询中没有使用任何order\u by。我确实用过过滤器。我确实指定了一个默认的顺序。我特别看到了注释,这里的寓意是,如果您使用的是distinct,请注意按相关模型排序。类似地,当同时使用distinct和values时,按values调用中没有的字段排序时要小心。但是,他们没有给出解决方案。请尝试输出查询生成的sql:print records2.query,这可能会提示您出了什么问题!将整个结果集转换为一个集合,然后再转换回一个列表,这将比使用索引的独特查询产生更多的开销!。如果结果集非常大,您可能会遇到相当大的问题。如果结果集total,not distinct很小,那么差异可能可以忽略不计。需要注意的事情。。