【发布时间】:2014-10-11 22:25:00
【问题描述】:
我已经使用 ModelChoiceField 创建了表单并从数据库模型中加载了值。 我正在使用下面的代码来创建表单
class MetamodForm(forms.Form):
metamodule_name = forms.ModelChoiceField(queryset=Metamodule.objects.all().values("name").distinct(),empty_label='Pick a Meta module')
但我得到的输出格式为
{'name': u'CCD infra'}
{'name': u'dependf'}
{'name': u'BAR weste'}
我不确定为什么会得到上述输出。请给我一个解决方案。
【问题讨论】:
-
你期望输出什么?
-
只是我在数据库模型中的数据。 CCD 基础, 依赖, BAR 西
-
@crhodes:当我使用 Metamodule.objects.all() 时,我得到了预期的正确输出。但是当我使用 values('name') 时,我得到了那种输出。
-
.values() 返回一个 ValuesQuerySet,它的行为可能与您在此处所期望的不同。 docs.djangoproject.com/en/1.6/ref/models/querysets/…
-
@scoopseven:好的。是否有可能在不使用 values() 或 values_list() 的情况下获得不同的对象?