Как заблокировать метод 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

Но не работают.

Вернуться на верх