Разница между ondelete и donothing в Django заключается в том, что ondelete определяет, что происходит с объектом или полем, которое ссылается на удалённый объект, а donothing указывает, что при удалении ссылочного объекта ничего не должно происходить с зависимыми объектами. 5
on_delete позволяет контролировать поведение связанных объектов при удалении ссылочного объекта. 2 Для этого есть несколько опций, например:
DO_NOTHING означает, что при удалении ссылочного объекта Django ничего не будет делать. 23 Эта опция полезна, когда нужно самостоятельно управлять логикой удаления. 2