将用户添加到Djang中的组

2024-06-25 23:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Django中的Group模块。在

我已经创建了视图GroupCreateViewGroupUpdateView,在这些视图中我可以更新权限和组名,但我还想将用户添加到组中。在

现在我必须更新每个用户对象并设置它所属的组。我想用另一种方式来创建组并将用户添加到此组。在

这是怎么得到的?我想大概是group.user_set.add(user)


Tags: 模块对象django用户add视图权限方式
1条回答
网友
1楼 · 发布于 2024-06-25 23:41:06

我假设您希望将新创建的用户自动添加到现有的组中。如果我错了,请纠正我,因为你的问题中没有提到这一点。在

这是我在视图.py

from django.views.generic.edit import CreateView
from django.contrib.auth.models import User
from django.contrib.auth.models import Group
from django.core.urlresolvers import reverse

class UserCreate(CreateView):
    model = User
    fields = ['username'] #only expose the username field for the sake of simplicity add more fields as you need

    #this one is called when a user has been created successfully
    def get_success_url(self):
        g = Group.objects.get(name='test') # assuming you have a group 'test' created already. check the auth_user_group table in your DB
        g.user_set.add(self.object)
        return reverse('users')  #I have a named url defined below

在我的网址.py

^{pr2}$

我在django1.8中测试了这一点(我确信它在1.7中也可以工作)。我验证了组关系是在auth_user_group表中创建的。在

另外,我还发现了这个:https://github.com/tomchristie/django-vanilla-views/tree/master这可能对你的项目有用。在

相关问题 更多 >