当超级用户是发件人时 Django 后保存

问题描述

我创建了 3 个名为“admin”、“teacher”和“student”的组,我希望我注册的每个用户都只属于这些组中的一个,而不是两个。

如果我通过在命令行中输入 createsuperuser 来创建超级用户,它运行良好,它会被添加到“admin”组,但问题是如果我创建了老师,它会被添加到“老师”组和“管理员”组和学生同样的问题。

这是我的 3 个个人资料的后期保存

signals.py

​​>
@receiver(post_save,sender=User)
def admin_profil(sender,instance,created,**kwargs):
    if created:
        group = Group.objects.get(name='admin')
        instance.groups.add(group)


@receiver(post_save,sender=Teacher)
def teacher_profil(sender,**kwargs):
    if created:
        group = Group.objects.get(name='teacher')
        instance.user.groups.add(group)


@receiver(post_save,sender=Student)
def student_profil(sender,**kwargs):
    if created:
        group = Group.objects.get(name='student')
        instance.user.groups.add(group)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)