Я создаю простое приложение для создания списка. 1 таблица с описанием и 1 статусом ', где каждый элемент может быть либо неполным, либо полным.Дублирующее значение в раскрывающемся списке
У меня есть следующий в моем шаблоне HTML:
<h1> To do list </h1><br>
{% if itemlist %}
{% for desc in itemlist %}
<li>{{desc}}<select>
{% for status in statuslist %}
<option value="{{status.id}}">{{status}}</option>
{% endfor %}
<option selected>{{desc.status}}</option>
</select>
</li>
{% endfor %}
{% else %}
<p> No Items Found </p>
{% endif %}
Моей проблемы заключается в заполнении выпадающего списка с обоими значениями и автоматически показывающее значение, содержащимся в базе данных. С моим текущим кодом значение, которое проводится показывается правильно, но он дублируется в выпадающем списке, так что показывает либо:
'incomplete'
'complete'
'incomplete'
или
'incomplete'
'complete'
'complete'
вместо
'incomplete'
'complete'
Я попытался добавить selected="{{desc.status}}"
в тег <option>
, но он заполняет каждый элемент значением первого. Как изменить это, чтобы отразить то, что я хочу видеть?
Я использовал 'statuslist = status.objects.distinct()' вместо 'statuslist = status.objects.all()', но он вернулся тем же. Значения не дублируются в таблице состояний, которые они дублируют только в раскрывающемся списке; Я думаю, что есть проблема с моим синтаксисом в шаблоне? В конечном итоге я буду использовать форму, чтобы отправить результаты обратно в db. –
См. Ответ @Nikhil Doomra. Это решит вашу проблему. –