Python 如何使用Django以编程方式创建组?

Python 如何使用Django以编程方式创建组?,python,django,django-authentication,Python,Django,Django Authentication,我想创建一个组,新注册的用户将被分配到该组,该组允许用户创建模型实例,但不允许编辑或删除模型实例 我在(django文档)中找不到: 我将在其中添加此代码 我的直觉告诉我,组分配应该发生在处理用户注册的视图中,但是我应该在哪里初始化组用户分配?组分配可以发生在用户上的保存后信号期间(即,创建用户之后),或者按照您的建议,在视图中保存用户注册表后。在将用户分配给组时,可以使用get\u或\u create正确初始化组。例如: def assign_group_to_newly_registered

我想创建一个组,新注册的用户将被分配到该组,该组允许用户创建模型实例,但不允许编辑或删除模型实例

我在(django文档)中找不到:

我将在其中添加此代码


我的直觉告诉我,组分配应该发生在处理用户注册的视图中,但是我应该在哪里初始化组用户分配?

组分配可以发生在用户上的
保存后
信号期间(即,创建用户之后),或者按照您的建议,在视图中保存用户注册表后。在将用户分配给组时,可以使用
get\u或\u create
正确初始化组。例如:

def assign_group_to_newly_registered_users(sender, instance, **kwargs):
    group, created = Group.objects.get_or_create(name='Newly Registered Users')
    group.user_set.add(instance)

post_save.connect(assign_group_to_newly_registered_users, sender=User, dispatch_uid=__file__)

太好了,谢谢!现在想知道,像其他模型一样处理组模型一般安全吗?是的,你可以像其他模型一样使用组。您可以随意创建/删除它们,并向它们自由添加用户/权限——这就是组模型的目的:)