在多个到多个字段保存在数据库中后调用post_save

问题描述 投票:1回答:1

我有模特儿

class UserPermission(models.Model):
    user = models.OneToOneField(User)
    user_type = models.ManyToManyField(UserType)
    persona = models.ManyToManyField(Persona)

并发布保存信号

@receiver(post_save, sender=UserPermission)
def post_save_user_permissions(sender, instance, **kwargs)
    """
    Depending on selected UserType and Persona for a user, Update some other model
    """
    pass

我想要保存信号中的m2m字段的所有更新值。但是这里的问题是在m2m字段保存到db之前调用保存信号。

我本可以使用m2m_changed信号,但有两个m2m字段,我无法关联或链接这两个信号

无论如何,一旦模型中的所有m2m字段都保存到db中,就调用post_save。

django django-models django-signals
1个回答
0
投票

两种可能性:

  • UserType上尝试post_save
  • 尝试使用through命名中间表,如through='UserPermissionType'并在UserPermissionType上尝试post_save

我希望我给你足够的线索来找到解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.