Мне нужно создать уникальный идентификатор для каждой формы, которая генерируется из цикла в шаблонах Django. Я использую {% for product in products %}
для просмотра некоторых данных. В моем forms.py
я редактирую атрибуты form.widget.Select, чтобы добавить / изменить поля onchange
и id
. Я отрисовываю его через views.py
и мои шаблоны как {{form}}
, вот строка в forms.py
:
condition = forms.ChoiceField(choices=condition_choices, widget=forms.Select(attrs={'onchange' : "showChange(this)", "id":"{{product.id}}"}))
Я ожидал, что идентификатор будет отображаться как уникальный идентификатор, связанный с каждым продуктом, и ожидал, что onchange вызовет функцию js
. Когда я печатаю форму на консоль, она выглядит так:
<select name="condition" onchange="showChange(this)" id="{{product.id}}">
<option value="NM / LP">Near Mint / Lightly Played</option>
<option value="MP">Moderately Played</option>
<option value="HP">Heavily Played</option>
<option value="Damaged">Damaged</option>
<option value="Unopened">Unopened</option>
</select>
Я бы ожидал, что поле id будет действительным идентификатором, а не {{product.id}}
Если эта форма вставляется точно в html, не отображая ее как форму Django, она работает как положено. Как передать уникальный идентификатор моего продукта в формы Django, не импортируя базу данных в forms.py
/ дополнительные вызовы базы данных?