2016-05-25 7 views
0

Ich versuche, ein ModelChoiceField mit Instanzen in der Vorlage manuell zu rendern. Das funktioniert einwandfrei, aber ich kann den Radioknopf in der letzten Zelle nicht hinzufügen. Wie füge ich den Radioknopf hinzu?Radiobutton in Instanzen von Django ModelChoiceField

forms.py:

class SubmissionForm(forms.Form): 
     name = forms.CharField(max_length=100) 
     spl_candidates = forms.ModelChoiceField(queryset=Candidate.objects.filter(category="SPL"), 
             widget=forms.RadioSelect, 
             empty_label=None) 

Vorlage

<table> 
     {% for data in form.spl_candidates.field.queryset %} 
     <tr> 
      <td> 
       {{ data.name }} 
      </td> 
      <td> 
       {{ data.description }} 
      </td> 
      <td> 

      </td> 
     </tr> 
     {% endfor %} 
    </table> 

Antwort

0

eine benutzerdefinierte HTML-Radio-Button Fügen Sie diese,

in Ihrer Vorlage zu erreichen dies tun,

<table> 
    {% for data in form.spl_candidates.field.queryset %} 
    <tr> 
     <td> 
      {{ data.name }} 
     </td> 
     <td> 
      {{ data.description }} 
     </td> 
     <td> 
      <input type="radio" name="{{ data.name }}" value="{{ data.desc }}"> 
     </td> 
    </tr> 
    {% endfor %} 
</table> 
+0

Es zeigt den Radiobutton, aber es kann alle zusammen auswählen, das ist nicht das normale Verhalten eines Radioauswahl-Widgets: P –

+0

Der eindeutige Bezeichner für den Radiobutton ist 'name', wenn Ihre Schleife ein neues' {{data .name}} wird kommen, damit Sie nicht alle zusammen auswählen können. –

Verwandte Themen