删除Django数据库中的子对象

时间:2013-04-23 08:32:36

标签: python django django-models

客户和工人模型。当我做

时,Costumer继承自User,而Worker继承自Costumer
 worker.delete(), 

它将删除所有三个表中的所有相关对象,我该怎么做,它只会删除Worker表中的数据,其余表中的数据仍然存在(假设,一个客户不希望工人更长,但是他还想成为一名顾客。

1 个答案:

答案 0 :(得分:0)

我认为没有一种内置的方法可以将模型“降级”为超类,也不会将模型“提升”为子类。

如果您需要修改原始记录,而不是创建新的记录,则可能需要使用raw query之类的...

DELETE FROM <the_worker_table_name> WHERE id=<the_worker_object_id>

...然后重新选择对象作为Costumer类型以进行任何进一步处理。