向User - ValueError添加权限时:要解压缩的值太多

And*_*rew 3 django django-models django-permissions

我创建了一个自定义用户并添加is_driver了检查我的用户是否属于的权限Driver's Group.

class CustomUser(AbstractUser):
    mobile = models.CharField(max_length=16)
    address = models.CharField(max_length=100)
    class Meta:
        permissions = (
            ("is_driver", "Can access driver's page")
        )
Run Code Online (Sandbox Code Playgroud)

但是,当我跑manage.py makemigrations,然后manage.py migrate,它会抛出一个错误:ValueError: too many values to unpack.我是权限的新手,也许还有其他一些方法来添加权限Group.怎么了?

sth*_*hzg 18

尝试,在元组结尾添加缺失

class CustomUser(AbstractUser):
    mobile = models.CharField(max_length=16)
    address = models.CharField(max_length=100)
    class Meta:
        permissions = (
            ("is_driver", "Can access driver's page"),
        )
Run Code Online (Sandbox Code Playgroud)

当一个tuple只有一个项目时,Python是严格的.要查看Python级别的内容,您可以打开shell并尝试以下操作.

>>> foo = (('ham', 'eggs'))
>>> foo
('ham', 'eggs')
>>> foo[0]
'ham'
>>> foo = (('ham', 'eggs'),)
>>> foo
(('ham', 'eggs'),)
>>> foo[0]
('ham', 'eggs')
Run Code Online (Sandbox Code Playgroud)

长话短说,没有,它是一个不同的数据结构.