我尝试使用模型制作一个droplist。
USER_TYPE = {
'admin': "Admin",
'patient': "Patient",
'helper': "Helper",
'therapist': "Therapist",
}
class User(AbstractBaseUser):
user_type = models.CharField(max_length=10, choices=USER_TYPE, default="patient")
然而,我收到此错误:
ValueError:解压缩的值太多(预期2)
提前致谢!
答案 0 :(得分:2)
你需要的只是元组而不是字典。喜欢:
YEAR_IN_SCHOOL_CHOICES =( (' FR','新生'), (' SO','二年级学生'), (' JR',' Junior'), (' SR','高级'), )
答案 1 :(得分:1)
您正在使用CharField,但如果您想要下拉列表,则应该使用ChoiceField
您正在将USER_TYPE作为字典提供,但
选择
要使用2元组的可迭代(例如,列表或元组)作为此字段的选项,或使用返回此类可迭代的可调用对象。此参数接受与模型字段的choices参数相同的格式。有关详细信息,请参阅有关选项的模型字段参考文档。如果参数是可调用的,则每次初始化字段的形式时都会对其进行求值。默认为空列表。 https://docs.djangoproject.com/en/1.11/ref/forms/fields/#django.forms.ChoiceField.choices
所以尝试类似:
USER_TYPE = [
('admin', "Admin"),
('patient', "Patient"),
(..., ...),
]