Что я хотел бы сделать, это заполнить элемент 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>
Как я могу вернуть string
значения из distinct()
позвонить моей модели?
Вы используете PostgreSQL? Если это так, вы всегда можете сделать ... objects.all(). Distinct ('pie') –
@ Obj3ctiv3_C_88 Нет, SQL Server. – smilebomb