【问题标题】:Delete a child object in Django database删除 Django 数据库中的子对象
【发布时间】:2013-04-23 08:32:36
【问题描述】:

消费者和工人模型。 Costumer 继承自 User,Worker 继承自 Costumer,当我这样做时

 worker.delete(), 

它将删除所有三个表中的所有相关对象,我该怎么办,它只会删除 Worker 表中的数据,其余表中的数据仍然存在(假设,一个客户不想再当工人了,但是他仍然想成为一名客户)

【问题讨论】:

    标签: python django django-models


    【解决方案1】:

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

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

    DELETE FROM <the_worker_table_name> WHERE id=<the_worker_object_id>
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-05
      • 2019-04-22
      • 1970-01-01
      • 2017-08-18
      相关资源
      最近更新 更多