我有一个django模型查询需要从特定的表中获取不同的行,但由于某种原因它不能获取它。
让我知道您的意见
查询
Volunteercontacts.objects.order_by('name')- gives me the expected answer ie;ordering by name
Volunteercontacts.objects.order_by('name').distinct('name')- does not eliminate the duplicate
答案 0 :(得分:1)
您应该区分不同的Volunteercontacts
模型和不同的name
列值。
对于不同的Volunteercontacts
模型,您可以使用distinct(),但在这种情况下无效:
Volunteercontacts.objects.order_by('name').distinct()
对于不同的列值,您可以使用value list的字典或数组:
Volunteercontacts.objects.values_list('name',
flat=True).order_by('name').distinct()
另外,请记住,在distinct方法中指定字段名称的功能仅在PostgreSQL中可用。
答案 1 :(得分:0)
Django 1.4在原始问题中提供了预期的行为(假设您使用的是Posgtres):
https://docs.djangoproject.com/en/1.4/ref/models/querysets/#distinct