我想要做的是在模型表中的一列中填充一个select
元素,其中包含不同的值。具有不同列值的django modelchoicefield
我forms.py:
class ExampleForm(forms.ModelForm):
only_unique_values = forms.ModelChoiceField(
required = False,
queryset = ReadOnlyTable.objects.values('pie').distinct(),
widget = forms.Select
)
使用values
函数返回ValuesQuerySet
,而不是QuerySet
,这是一个问题,我select
元素,因为所有的选项都与词典语法而不是值填充只有列数据为string
s。
它结束了看起来像这样:
<select id="id_example" name="example_form">
<option value="" selected="selected">---------</option>
<option value="{'pie': u'apple '}">{'pie': u'apple '}</option>
<option value="{'pie': u'pecan '}">{'pie': u'pecan '}</option>
<option value="{'pie': u'dutch '}">{'pie': u'dutch '}</option>
<option value="{'pie': u'pumpkin '}">{'pie': u'pumpkin '}</option>
</select>
我多么希望它看起来是像这样:
<select id="id_example" name="example_form">
<option value="" selected="selected">---------</option>
<option value="apple">apple</option>
<option value="pecan">pecan</option>
<option value="dutch">dutch</option>
<option value="pumpkin">pumpkin</option>
</select>
如何从一个distinct()
返回string
值打电话给我的模特?
你使用PostgreSQL?如果是这样,你总是可以做... objects.all()。distinct('pie') –
@ Obj3ctiv3_C_88不,SQL Server。 – smilebomb