我如何用Django以编程方式创建一个组?

时间:2014-04-06 20:27:38

标签: python django django-authentication

我想创建一个分配了新注册用户的组,以便用户创建模型实例但不能编辑或删除模型实例。

我在(django docs)中找不到:https://docs.djangoproject.com/en/1.5/topics/auth/default/

我将添加此代码。

我的胆量说团队分配应该在处理用户注册的视图中进行,但是我应该在哪里初始化用户被分配到的组?

1 个答案:

答案 0 :(得分:1)

在用户注册表单保存在视图中之后,可以在用户的​​post_save信号期间(即,在创建用户之后)或按照您的建议进行组分配。您可以使用get_or_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__)