假设我们有以下课程:
“配置”类
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关系。我想基于elements
的组合来默认nodes
属性。因此,在保存过程中(最好是pre_save
),我需要将所有节点传递给为uuid
返回element
的类/方法。
因此,我转到管理应用程序,创建类型为Config
的对象,在屏幕上选择我的节点,然后单击保存。现在,系统应该调用类/方法,传递节点并用element
更新uuid
。由于Class
和Nodes
之间的映射表中的M:N关系尚不具有正确的条目(因为它是pre_save
),因此此操作无效。我想避免使用post_save
,因为这样nodes
属性需要允许Null
值。
任何想法都值得赞赏。
谢谢, 塞巴斯蒂安
答案 0 :(得分:0)
我在m2m_changed
动作中使用post_add
信号。我的用例工作正常。