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')]查看我的答案,了解更简单的方法。