Como obter instâncias de ModelChoiceField no modelo
Eu tenho um ModelForm que contém um ModelChoiceField usando o widget 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>
Existem atributos no MyBModel que eu quero exibir ao lado do botão de rádio. Eu substituirialabel_from_instance
em uma subclasse de ModelChoiceField, mas isso não me permite fazer o que eu quero, pois quero que o botão de opção apareça dentro de uma tabela que tenha uma linha para cada item de seleção.
Então, em algum lugar do meu modelo, quero algo como ...
<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>
Infelizmente field.choices retorna uma tupla do id do objeto e o rótulo e não uma instância do queryset.
Existe uma maneira simples de obter instâncias das opções para um ModelChoiceField para usar dentro de um modelo?