所以我有两个由 ForeignKey 相关的模型(表)。在管理中,编辑页面显示第一个模型(假设是 ModelOne)以及第二个模型的相关实例 ModelTwo (TabularInline)。
我想要的是在更改第二个模型时执行一些额外的操作。我可以通过 ModelTwo 上的 post_save 信号来做到这一点。但是,只有当我从它自己的编辑页面(即不在 ModelOne 的内联中)保存模型时,才会调用 post_save 信号。
有没有办法在 ModelTwo 的内联表单上附加一个 post_save 信号?
...作为一种解决方法,我向 ModelTwo 添加了一些自定义验证,无论它是否内联都会被调用),以调用我想要的方法。但是,此设置产生的问题是,如果我创建 ModelOne 的新实例并同时创建 ModelTwo 的实例,我无法访问关联两个表的新实例的主键(外键)(因为它尚未保存)。主键是我需要的。
我还尝试直接向 ModelOne 添加一个 post_save 信号(这样我就可以获得新实例的 PK),但似乎 post_save 信号没有传递 ModelTwo 的数据(为什么要传递呢?)
那么解决这个问题的方法是什么?内联模型会发出信号吗?有没有办法在保存之前访问新实例的PK?