In der Admin-Konsole kann ich eine Gruppe hinzufügen und eine Reihe von Berechtigungen hinzufügen, die sich auf meine Modelle, z.In Django, wie programmgesteuert erstellen Sie eine Gruppe mit Berechtigungen
api | project | Can add project
api | project | Can change project
api | project | Can delete project
Wie kann ich dies programmgesteuert tun. Ich kann keine Informationen darüber finden, wie das geht.
ich habe:
from django.contrib.auth.models import Group, Permissions
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?
UPDATE: Vielen Dank für die Antwort, die Sie zur Verfügung gestellt. Ich konnte damit herausfinden, was ich brauchte. In meinem Fall kann ich folgendes tun:
new_group, created = Group.objects.get_or_create(name='new_group')
proj_add_perm = Permission.objects.get(name='Can add project')
group.permissions.add(proj_add_perm)
für das UPDATE Du meinst 'new_group.permissions.add (proj_add_perm)' – CpILL