我想要做的是在模型表中的一列中填充一個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