Как получить экземпляры ModelChoiceField в шаблоне
У меня есть ModelForm, который содержит ModelChoiceField с помощью виджета RadioSelect.
<code>class MyAForm(forms.ModelForm): one_property = models.ModelChoiceField( widget=forms.RadioSelect, queryset=MyBModel.objects.filter(visible=True), empty_label=None) class Meta: model = MyAModel </code>
В MyBModel есть атрибуты, которые я хочу отобразить рядом с переключателем. Я бы переопределилlabel_from_instance
в подклассе ModelChoiceField, но это не позволяет мне делать то, что я хочу, так как я хочу, чтобы переключатель отображался внутри таблицы, в которой есть строка для каждого элемента выбора.
Так что где-то в моем шаблоне я хочу что-то вроде ...
<code>{% for field in form.visible_fields %} {% if field.name == "one_property" %} <table> {% for choice in field.choices %} <tr> <td><input value="{{choice.id}}" type="radio" name="one_property" />{{choice.description}}</td> <td><img src="{{choice.img_url}}" /></td> </tr> {% endfor %} </table> {% endif %} {% endfor %} </code>
К сожалению, field.choices возвращает кортеж с идентификатором объекта и меткой, а не с экземпляром из набора запросов.
Есть ли простой способ получить экземпляры выбора для ModelChoiceField для использования в шаблоне?