值错误:无法查询" ":必须是实例"Group"



>我创建自定义用户和组模型继承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.`

has_perm()方法中的参数似乎不正确。用于检查由应用程序标签、权限代码和模型名称创建的权限的参数。例如,应用名称为博客,模型名称为"发布"。如果您希望用户具有查看权限,则可以通过user.has_perm('blog.view_post')进行检查。

你可以从 django 文档中获得进一步的指导: https://docs.djangoproject.com/en/3.0/topics/auth/default/#default-permissions

我希望这会帮助你:)

最新更新