在管理员控制台中,我可以添加一个组并添加一堆与我的模型相关的权限,例如。
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)
new_group.permissions.add(proj_add_perm)
。 - CpILL