У меня есть три связанных модели - Document, Collection и CollectionDocument. Объект Collection состоит из группы документов.
class Document(Model):
document_id = models.AutoField(primary_key=True)
class Collection(Model):
collection_id = models.AutoField(primary_key=True)
document = models.ManyToManyField(Document, through='CollectionDocument', related_name='collections',)
class CollectionDocument(Model):
collection_id = models.ForeignKey(Collection, on_delete=models.CASCADE, )
document = models.ForeignKey(Document, on_delete=models.CASCADE, )
В Администраторе Djangop у меня есть DocumentAdmin и CollectionAdmin с CollectionDocument в качестве встроенных в CollectionAdmin.
Когда я удаляю все документы, связанные с Коллекцией, я также хочу удалить Коллекцию. Прямо сейчас, когда я удаляю документы в Коллекции, CollectioDocument остается пустым, но Коллекция все еще существует без каких-либо документов, связанных с ней.
Я пробовал несколько способов сделать это, используя до и после удаления сигналы для модели CollectionDocument, но, похоже, ничего не работает. Я неправильно структурировал свои модели? Как получить коллекцию для удаления при удалении всех связанных документов?
Спасибо!
Отметить