我正在使用单选按钮在forms.py中进行用户输入,并希望将额定值保存在django数据库中。我具有以下字段:
from product.models import Rating
from django.forms import forms
from django.forms.fields import ChoiceField
from django.forms import ModelForm
from django import forms
class RatingForm(forms.ModelForm):
class Meta:
model = Rating
fields = ('product', 'user', 'rating')
widgets = forms.ChoiceField(widget=forms.RadioInput(),
required=True)
Model.py
class Rating(models.Model):
CHOICES = (
('5-stars', '5-stars'),
('4-stars', '4-stars'),
('3-stars', '3-stars'),
('2-stars', '2-stars'),
('1-stars', '1-stars'),
)
product=models.ForeignKey(Product,null=True,blank=True, on_delete=models.PROTECT)
user=models.ForeignKey(User,null=True,blank=True, on_delete=models.PROTECT)
rating=models.ChoiceField(choices=CHOICES, max_length=128)
我没有找到用于导入此小部件的任何库。以下是我面临的错误:
AttributeError:模块'django.forms'没有属性'RadioInput'?
请问有谁能帮忙吗?或建议其他任何方法?
答案 0 :(得分:0)
该小部件称为RadioSelect
,而不是RadioWidget
。参见the documentation。
但是请注意,您必须直接在widgets
属性中使用窗口小部件,而不是作为字段的一部分使用; widgets
是字段名称到小部件的字典:
widgets = {'rating': forms.RadioSelect}