ValueError: Невозможно запросить "": должен быть экземпляр "Group" - PullRequest
0 голосов
/ 14 февраля 2020

Я создаю пользовательский пользователь, а модель группы наследует Abstract user model и auth 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 голосов
/ 14 февраля 2020

Ваш параметр в методе has_perm() кажется неверным. Параметр для проверки разрешения, сделанного из метки приложения, кода разрешения и названия модели. Например, имя вашего приложения - blog , а название вашей модели - Post . Если вы хотите, чтобы у пользователя было разрешение на просмотр, вы можете проверить его по user.has_perm('blog.view_post').

. Более подробную информацию вы можете получить из django документации: https://docs.djangoproject.com/en/3.0/topics/auth/default/#default -permissions

Надеюсь, это поможет вам:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...