Cómo obtener instancias de ModelChoiceField en la plantilla

Tengo un ModelForm que contiene un ModelChoiceField usando el 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>

Hay atributos en MyBModel que quiero mostrar junto al botón de opción. Yo anularíalabel_from_instance en una subclase de ModelChoiceField, pero esto no me permite hacer lo que quiero, ya que quiero que aparezca el botón de opción dentro de una tabla que tiene una fila para cada elemento de selección.

Así que en algún lugar de mi plantilla quiero 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>

Desafortunadamente, field.choices devuelve una tupla de la identificación del objeto y la etiqueta y no una instancia del conjunto de consultas.

¿Existe una forma sencilla de obtener instancias de las opciones para un ModelChoiceField para usar dentro de una plantilla?

Respuestas a la pregunta(3)

Su respuesta a la pregunta