如何通过组名称将用户添加到django中的组?
我可以做这个:
user.groups.add(1) # add by id
Run Code Online (Sandbox Code Playgroud)
我该怎么做这样的事情:
user.groups.add(name='groupname') # add by name
Run Code Online (Sandbox Code Playgroud) 我遇到了ManytoMany关系的问题,当我保存它时(通过管理员)并没有在模型中更新,并尝试在附加到post_save信号的函数中或在save_model关联的函数内使用新值AdminModel.我试图通过使用带有id的get函数重新加载这些函数中的对象但它仍然具有旧值.
这是交易问题吗?交易结束时是否抛出信号?
谢谢,
我希望仅在创建用户后将此用户的字段指定为“真”时才将用户添加到组中。创建的每个用户都有一个与之关联的“用户配置文件”。这是实现这种事情的正确方法吗?
模型.py:
def add_group(sender, instance, created, **kwargs):
if created:
sender = UserProfile
if sender.is_in_group:
from django.contrib.auth.models import Group
g = Group.objects.get(name='Some Group')
g.user_set.add(sender)
post_save.connect(add_group, sender=UserProfile)
Run Code Online (Sandbox Code Playgroud)
提前致谢!