1

我有一个 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
4

2 回答 2

1

您应该区分不同的Volunteercontacts模型和不同的name列值。

对于不同的Volunteercontacts模型,您可以使用 distinct(),但在这种情况下没有效果:

Volunteercontacts.objects.order_by('name').distinct()

对于不同的列值,您可以使用字典或值列表数组:

Volunteercontacts.objects.values_list('name', 
                                      flat=True).order_by('name').distinct()

另外,请记住,在 distinct 方法中指定字段名称的能力仅在 PostgreSQL 中可用。

于 2012-05-01T19:19:03.990 回答
0

Django 1.4 在原始问题中提供了预期的行为(假设您使用的是 Posgtres):

https://docs.djangoproject.com/en/1.4/ref/models/querysets/#distinct

于 2012-05-01T20:42:53.070 回答