在django中使用带有Oracle后端的distinct()和filter()时遇到麻烦

时间:2017-03-31 15:50:35

标签: django oracle orm

我正在尝试获取字段B的所有不同值的列表给定字段A的值。我正在使用django 1.10和Oracle 12g。

我尝试了MyModel.objects.filter(fieldA='foo').values_list('fieldB').distinct(),但这给了我一个包含许多重复项的列表,好像distinct()根本不起作用。我可以通过将列表转换为python中的一个集来摆脱重复,但我想依赖于数据库。

感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

您应该将order_bydistinct结合使用以获取不同的值

MyModel.objects.filter(fieldA='foo').order_by('fieldB').values_list('fieldB', flat=True).distinct()