繁体   English   中英

Django - ValueError:解包的值太多(预期为 2)

[英]Django - ValueError: too many values to unpack (expected 2)

我尝试使用从模型制作下拉列表。

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)

提前致谢!

您只需要元组而不是字典。 喜欢:

YEAR_IN_SCHOOL_CHOICES = ( ('FR', 'Freshman'), ('SO', 'Sophomore'), ('JR', 'Junior'), ('SR', 'Senior'), )

  1. 您正在使用 CharField,但如果您想要下拉列表,则应该使用 ChoiceField

  2. 您提供 USER_TYPE 作为字典,但

    选择

    用作此字段选择的 2 元组的可迭代对象(例如,列表或元组),或返回此类可迭代对象的可调用对象。 此参数接受与模型字段的选择参数相同的格式。 有关更多详细信息,请参阅有关选择的模型字段参考文档。 如果参数是可调用的,则每次初始化字段的表单时都会对其进行评估。 默认为空列表。 https://docs.djangoproject.com/en/1.11/ref/forms/fields/#django.forms.ChoiceField.choices

所以尝试这样的事情:

USER_TYPE = [
('admin', "Admin"),
('patient', "Patient"),
(..., ...),
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM