哪个库用于在Django的forms.py中导入RadioInput(窗口小部件)?

时间:2019-05-13 18:29:31

标签: django django-models django-forms django-templates django-views

我正在使用单选按钮在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'?

请问有谁能帮忙吗?或建议其他任何方法?

1 个答案:

答案 0 :(得分:0)

该小部件称为RadioSelect,而不是RadioWidget。参见the documentation

但是请注意,您必须直接在widgets属性中使用窗口小部件,而不是作为字段的一部分使用; widgets是字段名称到小部件的字典:

    widgets = {'rating': forms.RadioSelect}