如何在 Django 中以编程方式创建组

how to create Groups programatically in Django

我正在使用 django 建立一个会员站点,其中的成员属于他们创建的群组,然后邀请其他用户加入。

看来我正在寻找的是使用 django 组功能,但关于如何执行此操作的文档充其量是最少的 - 至少我还没有找到任何文档。它基本上讨论了在管理控制台中创建组,这不是我想要做的。我想做 programatically/dynamically.

解决此问题的另一种方法是将外键添加到用户模型直至组模型,但是我无法将外键添加到通用用户模型。

我已经阅读了很多 google 在搜索时向我抛出的内容。 none 有帮助。

我该怎么做?

谢谢

好吧 Group 只是 Django 中的另一个模型(Django 库中定义的模型之一)。

因此您可以创建一个群组:

from django.contrib.auth.models import Group

g1 = Group.objects.create(name='Name of the group')

Group 模型有两个多对多关系:一个到 Users(具有相关名称 users),一个到 Permission(具有相关名称 permissions)。所以我们可以使用相应的管理器来添加和删除Users和Permissions.

然后您可以使用以下用户填充群组:

g1.user_set.add(user1, user2, user5, user7)

您还可以通过以下方式向群组添加权限:

g1.permissions.add(perm1, perm3, perm4)