我创建了一个自定义用户并添加了权限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")
)
但是,当我运行manage.py makemigrations
然后manage.py migrate
时,会抛出错误:ValueError: too many values to unpack
。
我对权限感到陌生,也许还有其他方法可以为Group
添加权限。怎么了?
答案 0 :(得分: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"),
)
当tuple
只有一个项目时,Python是严格的。要了解在Python级别发生的事情,您可以打开shell并尝试以下操作。
>>> foo = (('ham', 'eggs'))
>>> foo
('ham', 'eggs')
>>> foo[0]
'ham'
>>> foo = (('ham', 'eggs'),)
>>> foo
(('ham', 'eggs'),)
>>> foo[0]
('ham', 'eggs')
长话短说,没有,
它是一个不同的数据结构。