В консоли администратора я могу добавить группу и добавить группу разрешений, которые относятся к моим моделям, например
api | project | Can add project
api | project | Can change project
api | project | Can delete project
Как я могу сделать это программно. Я не могу найти никакой информации о том, как это сделать.
Я имею:
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
from api.models import Project
new_group, created = Group.objects.get_or_create(name='new_group')
# Code to add permission to group ???
ct = ContentType.objects.get_for_model(Project)
# Now what - Say I want to add 'Can add project' permission to new_group?
ОБНОВЛЕНИЕ: Спасибо за ответ, который вы предоставили. Я смог использовать это, чтобы решить, что мне нужно. В моем случае я могу сделать следующее:
new_group, created = Group.objects.get_or_create(name='new_group')
proj_add_perm = Permission.objects.get(name='Can add project')
new_group.permissions.add(proj_add_perm)