我正在浏览django 2.1的文档,我看到可以在用户模型内部或直接创建组权限,然后可以使用permissions
属性将它们分配给组实例。我没有得到的是在我的项目中应该添加创建Group
实例并为该实例分配权限的代码。
答案 0 :(得分:0)
Group
[Django-doc]只是存储在django.contrib.auth.models
中的另一个模型。我们可以使用以下方法创建一个Group
:
from django.contrib.auth.models import Group
g1 = Group.objects.create(name='some_group_name')
接下来,我们可以向其中添加Permission
[Django-doc]个对象,例如通过codename
搜索:
from django.contrib.auth.models import Permission
p1 = Permission.objects.get(codename='can_add_post')
p2 = Permission.objects.get(codename='can_add_blog')
g1.permissions.add(p1, p2)
如果您使用Django的标准用户模型,我们还可以将User
s [Django-doc]添加到组中:
from django.contrib.auth.models import User
u1 = User.objects.get(username='foobar')
g1.user_set.add(u1)