我正在尝试使用链接到User模型的类似配置文件的模型在我的Django应用程序中实现多个用户角色。目的是根据链接配置文件的类启用/禁用功能。
我已经阅读了使用post_save信号创建链接回User模型的用户配置文件的示例。我无法弄清楚的是如何将用户模型的post_save信号发送到具有关键字或其他属性的多个接收器,以执行条件检查。
models.py
---------
class AgencyOwner(models.Model):
user = models.OneToOneField(
User,
primary_key=True,
related_name='owner',
on_delete=models.CASCADE
)
...
@receiver(post_save, sender=User)
def update_owner(sender, instance, created, **kwargs):
if created and kwargs.get("owner") is True: # This fails
AgencyOwner.objects.create(user=instance)
instance.owner.save()
我不知道这是否是合适的解决方案,我也查看了组和权限,但我不确定如何在Django管理界面之外以编程方式创建它们。目的是将角色设置为创建帐户,或者可能由“is_staff”标志设置为True的用户设置。