Big*_*gga 7 django permissions models
我正在使用 django 建立一个成员站点,其中成员属于他们创建的组,然后邀请其他用户加入。
似乎我正在寻找的是使用 django 组功能,但是关于如何进行此操作的文档充其量是最少的 - 至少我还没有找到。它基本上谈论在管理控制台中创建组,这不是我想要做的。我想以编程方式/动态方式进行。
解决此问题的另一种方法是将外键添加到用户模型到组模型,但是我无法向通用用户模型添加外键。
我已经阅读了很多谷歌从我的搜索中向我吐槽的东西。没有帮助。
我该怎么办?
谢谢
Wil*_*sem 14
那么 aGroup只是 Django 中的另一个模型(Django 库中定义的模型之一)。
因此,您可以创建一个组:
from django.contrib.auth.models import Group
g1 = Group.objects.create(name='Name of the group')
Run Code Online (Sandbox Code Playgroud)
该Group模型有两个多对多关系:一个 to Users(相关名称users),一个 to Permission(相关名称permissions)。所以我们可以使用相应的管理器来添加和删除Users和Permissions。
然后,例如,您可以使用以下用户填充该组:
g1.user_set.add(user1, user2, user5, user7)
Run Code Online (Sandbox Code Playgroud)
您还可以通过以下方式向组添加权限:
g1.permissions.add(perm1, perm3, perm4)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5877 次 |
| 最近记录: |