【发布时间】:2016-04-02 22:24:44
【问题描述】:
我一直在尝试使用 AbstractUser 向标准 django 用户添加一些字段。然而,在进行动议时,我遇到了一个问题。当我尝试进行迁移时,会导致“值错误:要解包的值太多”。
这是我的代码:
models.py
class TeamMember(AbstractUser):
YEAR_LEVELS = (
('1', '1st'),
('2', '2nd'),
('3', '3rd'),
('4', '4th'),
('5', '5th'),
('0', 'Other'),
)
SAILING_LEVELS = (
('1', 'Beginner'),
('2', 'Intermediate'),
('3', 'Race'),
)
year_level = models.CharField(max_length = 1, choices=YEAR_LEVELS)
sailing_level = models.CharField(max_length = 1, choices=SAILING_LEVELS)
board_pos = models.CharField(max_length = 50)
avatar = models.URLField()
settings.py
AUTH_USER_MODEL = 'main.models.Users'
SOCIAL_AUTH_USER_MODEL = 'main.models.TeamMember'
我也在使用 python-social-auth,这是 settings.py 文件中第二行的用途。
【问题讨论】:
-
当你得到一个异常,例如“Value Error: too many values to unpack”,Python会告诉你文件中发生错误的行。这是解决问题的起点,如果您不分享这些细节,没有人可以帮助您。
-
我不会搞砸 AbstractUser。只需通过 OneToOne 将 Teammember 模型绑定到 Django 的普通用户模型即可。
-
我添加了
from .models import User,并将其更改为AUTH_USER_MODEL = 'main.Users'以解决此问题。
标签: django django-models python-social-auth