django,一种查询不同模型的好方法

django,一种查询不同模型的好方法,django,django-views,django-queryset,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选择表单,显示所有可能的(不同的)名称,以

假设我有这样一个模型:

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>

A.
B
C

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

在回答您接下来的问题时,更简单的方法是:

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

我是唯一一个在这里看不到任何问题的人:)?@Tomasz-那里有一个问题,如果你查找的话,我已经编辑了它,使它更明显。这似乎有效,谢谢,但输出是这样的:{'name':u'A}{'name':u'B}{'name':u'C}我如何解决这个问题?我有这样的记录:name=[I[“name”]代表Foo.objects.values中的I('name').distinct().order_by('name')]查看我的答案,了解更简单的方法。