Как заблокировать метод post_delete дочерней модели при удалении родительской модели с помощью CASCADE в django?
models.py
class Parent(models.Model):
name = models.CharField(max_length=50)
class Child(models.Model):
parent = models.ForeignKey(Parent, on_delete=models.CASCADE)
name = models.CharField(max_length=50)
signals.py
@receiver(signals.post_delete, sender=Parent)
def delete_parent(sender, instance, **kwargs):
# something
@receiver(signals.post_delete, sender=Child)
def delete_child(sender, instance, **kwargs):
# something
Когда сигнал delete_parent()
работает, сигнал delete_child()
не должен работать. Как это сделать?
Я пробовал это,
@receiver(signals.post_delete, sender=Child)
def delete_child(sender, instance, **kwargs):
try:
parent = instance.parent
# something
except:
return
Но не работают.