Utilizando los siguientes modelos relacionados (una entrada de blog puede tener múltiples revisiones):Django - Cascade supresión en ManyToManyRelation
class BlogEntryRevision(models.Model):
revisionNumber = models.IntegerField()
title = models.CharField(max_length = 120)
text = models.TextField()
[...]
class BlogEntry(models.Model):
revisions = models.ManyToManyField(BlogEntryRevision)
[...]
¿Cómo puedo decirle a Django para eliminar todos los relacionados BlogEntryRevision
s Cuando se elimina el BlogEntry
correspondiente? El valor predeterminado parece ser mantener los objetos en una relación de muchos a muchos si se elimina un objeto del "otro" lado. ¿Hay alguna forma de hacerlo, preferiblemente sin anular BlogEntry.delete
?
Sí, admití ese error en el comentario a la otra respuesta. En aras de la exhaustividad: suponiendo que un caso de uso tenga más sentido con 'ManyToManyRelation', ¿cuál sería una buena forma de eliminar en cascada? ¿Funciona el enfoque de la respuesta eliminada de Gabi Purcaru? – AndiDog
Las eliminaciones se realizarán en cascada en '' null = True'' –
El comportamiento de eliminación de cascadas en 'ForeignKey's se puede controlar con [' on_delete'] (https://docs.djangoproject.com/en/dev/ref/models/ fields/# django.db.models.ForeignKey.on_delete) (pero por defecto es 'CASCADE') – meshy