在django中,当foreignKey设置为on_delete=models.SET_NULL
时,是否有任何方法可以通知相关模型的更改?在
在第一种典型情况下:
class RelatedModel(models.Model):
fKey = models.ForeignKey('ForeignModel')
class ForeignModel(models.Model):
name = models.CharField(max_length=128)
fk = ForeignModel.objects.create(name='Test')
rm = RelatedModel()
rm.fKey = fk
rm.save()
fk.delete()
什么时候fk.删除调用()时,pre_delete
和{fk
和{
但是,如果相关模型声明为:
^{pr2}$我没有看到相关模型的any信号被触发,即使它已经改变了(fKey
值被改为null)。触发的唯一信号是fk
的删除前/后信号。在
考虑到这种情况,是否有任何方法可以通知相关模型中的更改,并且仍然使用on_delete=models.SET_NULL
而不编写自定义方法?在
SET_NULL只是一个可调用的参数。因此,您可以定义自己的信令设置为空并发送您选择的信号。在
相关问题 更多 >
编程相关推荐