Как получить экземпляры 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 для использования в шаблоне?

Ответы на вопрос(3)

Ваш ответ на вопрос