代码之家  ›  专栏  ›  技术社区  ›  Rick

Django/Python,对Modelform中的布尔字段使用单选按钮?[副本]

  •  3
  • Rick  · 技术社区  · 15 年前

    我试图在我的模型表单中使用单选按钮,但是当我这样做覆盖时,它什么也不输出(它只是在我的表单中打印标签,而不是单选按钮n,如果我不做覆盖,它会做一个标准复选框)

    我的模型域定义为:

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

    我的模型形式定义如下:

    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))
    

    class Meta:
        model = Mymodelname
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   user257111 user257111    15 年前

    这有用吗?

    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)