Django 模型继承 - 我可以更改模型类型吗?

当我使用多表继承时,Django 创建了两个表——一个用于基类,一个用于派生类,指向第一个。有没有办法在删除派生表条目的同时保留基表条目,并为另一个模型创建另一个条目?

简单来说:我有模型:A、B(派生自 A)、C(派生自 A)。我想将类型 B 的对象转换为类型 C。复制不是一个好的解决方案,因为 A 用作一组项目,因此项目使用外键指向它。

最佳答案

没有内置的方法可以做到这一点。如果因为 FK 指向它而需要保留基表中的条目,则必须编写一些管理器方法来使用原始 SQL 操作 B 和 C 表。

如果您使用的 RDBMS 不支持参照完整性,您可以只复制数据,删除 B 实例,然后创建 PK 手动设置为 B 的 PK 的 C 实例。

https://stackoverflow.com/questions/1398857/

相关文章:

iphone - 黑莓中的 Webparts

tsql - 如何使用 Sql Server 中的 INFORMATION_SCHEMA 或 sys

.net - .NET 中的操作方法 : Auto-Restart Console App.

apache-flex - 为什么我的 svn ant 任务失败了?

c# - SQL 对称 key 并从 C# 打开它

uml - 从现有的 javadoc 生成类图

visual-studio - 用于测试 IDE 配色方案的代码示例

java - JNDI 在不检索所有数据的情况下获取 LDAP 搜索的大小

junit - 从 JSP 运行 JUnit 集成测试?

wordpress - 修改 WordPress 插件标记