微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决当超级用户是发件人时 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 举报,一经查实,本站将立刻删除。