Django Display ID и Description из формы Queryset в выпадающий список
Я хочу отобразить данные из таблицы в Django Queryset Form с правильным отображением значения и текста выпадающего элемента управления.
Кодирование в форме:
self.fields['testing_field'].queryset = model_abc.objects.all().values_list('description', flat=True)
Описание результата также является значением:
<select name="cars" id="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Result expection может установить id как значение с существующим описанием:
<select name="cars" id="cars">
<option value="1">Volvo</option>
<option value="2">Saab</option>
<option value="3">Mercedes</option>
<option value="4">Audi</option>
</select>
Как установить id в качестве значения в выпадающей форме Django QuerySet?
Вам нужно получить как описание, так и пк объектов. это достаточно просто:
possibles = model_abc.objects.all().values_list('pk', 'description')
Вы можете преобразовать это в динамический выбор:
choices = ( (x['pk'], x['description']) for x in possibles )
Или вы можете перебирать возможные варианты в вашем шаблоне
{% for option in possibles %}
<option value="{{option.pk}}">{{option.description}}</option>
{% endfor %}