gpt4 book ai didi

python - 在 Django 中创建时将用户添加到组

转载 作者:太空宇宙 更新时间:2023-11-04 06:00:03 27 4
gpt4 key购买 nike

只有在创建用户后将此用户的字段指定为“True”时,我才希望将用户添加到组中。创建的每个用户都会有一个与之关联的“用户配置文件”。这是实现此类事情的正确方法吗?

模型.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)

提前致谢!

最佳答案

另一种选择是使用post_save 信号

from django.db.models.signals import post_save
from django.contrib.auth.models import User, Group

def add_user_to_public_group(sender, instance, created, **kwargs):
"""Post-create user signal that adds the user to everyone group."""

try:
if created:
instance.groups.add(Group.objects.get(pk=settings.PUBLIC_GROUP_ID))
except Group.DoesNotExist:
pass

post_save.connect(add_user_to_public_group, sender=User)

唯一的麻烦是如果你使用固定装置......(因此 DoesNotExists ..)

关于python - 在 Django 中创建时将用户添加到组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540082/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com