Django - Что происходит, когда вы удаляете сущность в таблице, которая имеет внешний ключ ManyToMany к другой?

Я заметил, что Django не позволяет вам задавать параметр on_delete для ManyToManyField. Это заставило меня задуматься, что произойдет, если вы удалите сущность в отношениях ManyToMany? Например, допустим, у нас есть Book, который имеет отношение ManyToMany к Author. Предположим, что у книги A есть 3 автора: "Том Лам", "Лам Том" и "Бритни Бритни". Затем допустим, что "Britney Britney" удаляется из таблицы Author. Удаляется ли "Britney Britney" из отношения ManyToMany с Book? Возникает ли исключение при попытке удалить "Britney Britney?". Что делает Django в случае, когда сущность удаляется, если она существует в отношениях ManyToMany?

Если "Britney Britney" удаляется из таблицы Author, "Britney Britney" также удаляется из авторов книги (это также применимо и в обратном порядке). Django не выбросит исключение, просто удаленный экземпляр больше не будет доступен через отношения "многие-ко-многим"

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