如何在 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
模型有两个多对多关系:一个到 User
s(具有相关名称 users
),一个到 Permission
(具有相关名称 permissions
)。所以我们可以使用相应的管理器来添加和删除User
s和Permission
s.
然后您可以使用以下用户填充群组:
g1.user_set.add(user1, user2, user5, user7)
您还可以通过以下方式向群组添加权限:
g1.permissions.add(perm1, perm3, perm4)
我正在使用 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
模型有两个多对多关系:一个到 User
s(具有相关名称 users
),一个到 Permission
(具有相关名称 permissions
)。所以我们可以使用相应的管理器来添加和删除User
s和Permission
s.
然后您可以使用以下用户填充群组:
g1.user_set.add(user1, user2, user5, user7)
您还可以通过以下方式向群组添加权限:
g1.permissions.add(perm1, perm3, perm4)