django,一种查询独特模型的好方法

时间:2010-01-22 08:47:49

标签: django django-views django-queryset

假设我有这样的模型:

class Foo(models.Model):
    name = models.CharField("ad",max_length=25)
    type = models.ForeignKey(Type)

所以在数据库中,我有Foo对象,它们具有相同的名称字段但不同的类型,即:

name type
A     1
A     2
B     1
C     2
A     3
B     3

我将使用此信息来生成一个html选择表单,显示所有可能的(不同的)名称,所以最后我的选择表单将显示如下:

<select>
  <option value="A">A</option>
  <option value="B">B</option>
  <option value="C">C</option>
</select>

如何获取name的不同值列表?

2 个答案:

答案 0 :(得分:6)

在回答你后来的Till问题时,更简单的方法是:

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

答案 1 :(得分:2)

Foo.objects.values('name').distinct().order_by('name')