Django:在Pre_Save信号期间有很多20关系?



假设我们有以下类:

类"配置">

class Config(models.Model):
name = models.CharField(max_length=40, editable=True, blank=False, null=False)
nodes = models.ManyToManyField(HierarchyNode_MPTT)
element = models.ForeignKey(ForecastConfigurationLayout, on_delete=models.PROTECT, default=None)

nodes属性表示 M:N 关系。我想根据nodes的组合默认elements属性。因此,在保存过程中(理想情况下是pre_save(,我需要将所有节点传递给返回elementuuid的类/方法。

因此,我转到管理应用程序,创建一个类型为Config的对象,在屏幕上选择我的节点并点击保存。现在,系统应该调用一个类/方法,传递节点并使用uuid更新element。这是行不通的,因为映射表中ClassNodes之间的 M:N 关系还没有正确的条目(因为它是pre_save(。我想避免post_save因为这样nodes属性需要允许Null值。

任何想法都非常感谢。

谢谢 塞巴斯蒂安

我在post_add动作中使用m2m_changed信号。 适用于我的用例。

最新更新