我正在使用django设置成员网站,其中成员属于他们创建的群组,然后邀请其他用户加入。
似乎我正在寻找的是使用django组功能,但关于如何解决这个问题的文档充其量是最少的 - 至少我没有找到任何。它主要讨论在管理控制台中创建组,这不是我想要做的。我想以编程方式/动态地进行。
另一种解决方法是使用用户模型的外键到组模型,但是我不能将外键添加到通用用户模型。
我已经阅读了很多谷歌从我的搜索中向我投掷的东西。没有用。
我该怎么做?
由于
答案 0 :(得分:3)
好Group
只是Django中的另一个模型(Django库中定义的模型之一)。
您可以创建一个组:
from django.contrib.auth.models import Group
g1 = Group.objects.create(name='Name of the group')
Group
模型有两个多对多关系:一个到User
s(相关名称为users
),一个到Permission
(带有相关名称) permissions
)。因此,我们可以使用相应的管理员添加和删除User
和Permission
s。
然后,您可以使用以下用户填充该组:
g1.user_set.add(user1, user2, user5, user7)
您还可以使用以下内容向群组添加权限:
g1.permissions.add(perm1, perm3, perm4)