2010-09-08 17 views
3

J'essaie d'utiliser un bouton radio dans mon modelform mais il ne sort rien quand je fais un override de cette façon (il imprime simplement l'étiquette dans mon formulaire, pas le bouton radio, si je ne le remplace pas fait une case à cocher standard)Django/Python, Utilisation du bouton radio pour un champ booléen dans Modelform?

Mon modelfield est défini comme:

Class Mymodelname (models.Model): 
    fieldname = models.BooleanField(max_length=1, verbose_name='ECG') 

Mon ModelForm est défini comme tel:

from django.forms import ModelForm 
from django import forms 
from web1.myappname.models import Mymodelname 

class createdbentry(forms.ModelForm): 

    choices = ((1,'Yes'), 
       (0,'No'), 
      ) 

    fieldname = forms.ChoiceField(widget=forms.RadioSelect 
      (choices=choices)) 

Je vous serais très reconnaissant de tout conseil sur ce que je fais mal. merci

class Meta: 
    model = Mymodelname 

Répondre

3

Est-ce que cela fonctionne?

class createdbentry(forms.ModelForm): 

    choices = ((1,'Yes'), 
       (0,'No'), 
      ) 

    class Meta: 
     model = Mymodelname 

    def __init__(self, *args, **kwargs): 
     super(createdbentry, self).__init__(*args, **kwargs) 

     BinaryFieldsList = ['FirstFieldName', 'SecondFieldName', 'ThirdFieldName'] 
     for field in BinaryFieldsList: 
      self.fields[field].widget = forms.RadioSelect(choices=choices) 
+0

@Rick désolé, extra) sur la dernière ligne, édité maintenant. –

+0

excellent, cela fonctionne ... merci pour votre aide dans ce – Rick

+0

Pas de problème rick. N'oubliez pas d'appeler super avant de modifier quoi que ce soit. –