gpt4 book ai didi

django - 将 django 表单中的 bool 模型字段显示为单选按钮而不是默认复选框

转载 作者:行者123 更新时间:2023-12-04 01:37:28 24 4
gpt4 key购买 nike

这就是我的做法,将表单中的 bool 模型字段显示为单选按钮是和否。

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

class EmailEditForm(forms.ModelForm):

#Display radio buttons instead of checkboxes
to_send_form = forms.ChoiceField(choices=choices,widget=forms.RadioSelect)

class Meta:
model = EmailParticipant
fields = ('to_send_email','to_send_form')

def clean(self):
"""
A workaround as the cleaned_data seems to contain u'1' and u'0'. There may be a better way.
"""

self.cleaned_data['to_send_form'] = int(self.cleaned_data['to_send_form'])
return self.cleaned_data

正如您在上面的代码中看到的,我需要一个干净的方法来将输入字符串转换为整数,这可能是不必要的。

有没有更好和/或 djangoic 的方法来做到这一点。如果是这样,如何?

不,使用 BooleanField似乎造成了更多的问题。使用它对我来说似乎很明显。但事实并非如此。为什么会这样。

最佳答案

使用 TypedChoiceField .

class EmailEditForm(forms.ModelForm):
to_send_form = forms.TypedChoiceField(
choices=choices, widget=forms.RadioSelect, coerce=int
)

关于django - 将 django 表单中的 bool 模型字段显示为单选按钮而不是默认复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1033478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com