Django: связь между разрешениями и группой
Почему это работает:
g = Group.objects.get(pk=1)
p = g.permissions.first()
Out[43]: <Permission: onboarding | controller | Can add controller>
Но это не работает:
p.group
AttributeError: 'Permission' object has no attribute 'group'
Когда я делаю:
p._meta.__dict__
Я вижу:
'fields_map': {'Group_permissions+': <ManyToOneRel: auth.group_permissions>,
'group': <ManyToManyRel: auth.group>,
'User_user_permissions+': <ManyToOneRel: core.user_user_permissions>,
'user': <ManyToManyRel: core.user>}
Итак, мой вопрос в том, почему я не могу сделать p.group?
Существует ManyToManyField отношение [Django-doc] между Group и Permission. Вы можете получить связанные Group для данного Permission с помощью:
p.group_set.all()