2013-04-23 4 views
1

Модели-калькуляторы и рабочие. Костюмер унаследовал от пользователя, и работник унаследовал от костюмера, когда яУдалить дочерний объект в базе данных Django

worker.delete(), 

будет удален все связанным с объектом во всех трех таблицах, как я могу сделать, это будет только удалить данные в Рабочем столе, и данные в остальной части таблиц осталось (предположим, один costumer не хочет быть рабочим дольше, но он все еще хочет быть заказчиком)

ответ

0

Я не думаю, что есть встроенный способ «понизить» модель до суперкласса , а также для «продвижения» модели к подклассу.

Если вам необходимо изменить исходные записи, а не создавать новый набор, вы, вероятно, придется использовать raw query как ...

DELETE FROM <the_worker_table_name> WHERE id=<the_worker_object_id> 

... затем повторно выбрать объект как тип Costumer для любой последующей обработки.

Смежные вопросы