ValueError:无法查询“”:必须是“ Group”实例

时间:2020-02-14 06:25:12

标签: django python-3.x django-models django-forms django-permissions

我创建了自定义用户,并且组模型继承了Abstract user modelauth Group model

但是我创建了该工作人员,并授予了相同的错误触发器一些权限。 然后检查用户权限是否是相同的错误触发器。

输入一些代码或错误。 如何找出这个错误? `

(Pdb) user=request.user
(Pdb) user
<SimpleLazyObject: <User: Gaurav@gmail.com>>
(Pdb) user.groups.first()
<UserGroup: Test>
(Pdb) g1=user.groups.first()
(Pdb) g1.permissions.all()
<QuerySet [<Permission: auth | group | Can add group>, <Permission: auth | group | Can change group>, <Permission: auth | group | Can delete group>, <Permission: auth | group | Can view group>, <Permission: camera | CameraGroup | Can add CameraGroup>, <Permission: camera | CameraGroup | Can change CameraGroup>, <Permission: camera | CameraGroup | Can delete CameraGroup>, <Permission: camera | CameraGroup | Can view CameraGroup>]>
(Pdb) user.has_perm('view_cameragroup')
*** ValueError: Cannot query "Gaurav@gmail.com": Must be "Group" instance.`

1 个答案:

答案 0 :(得分:0)

您在has_perm()方法中的参数似乎不正确。用于根据应用标签,权限代码和型号名称检查权限的参数。例如,您的应用程序名称为 blog ,而模型名称为 Post 。如果您希望用户具有查看权限,则可以通过user.has_perm('blog.view_post')进行检查。

您可以从django文档中获取更多指导:https://docs.djangoproject.com/en/3.0/topics/auth/default/#default-permissions

我希望这会对您有所帮助:)

相关问题