我在django中使用代理模型,如下所示:
class A:
...
class B(A):
class Meta:
proxy = True
现在我要删除B模型,并将其值(表行)转换为A类型。 由于代理模型使用与其父项相同的表,并且我的代理模型中没有额外的字段,因此不必触摸模型表本身。
我删除了模型(代码)并从django_content_type
删除了相应的行,但是django必须在其他地方存储关于哪个行是哪种类型的信息,A或B.插入的行为B类型,仍然不会显示为A类型。
我正在使用南方。 最佳解决方案是将其添加为迁移,但并非绝对必要。
我该怎么做?
答案 0 :(得分:1)
除了删除内容类型之外,您不需要执行任何操作。 Proxy models根本不在数据库中单独表示(内容类型除外)。代理模型基本上只是帮助做一些事情,比如添加不同的默认管理器,更改排序等等。
您还可以运行django-admin.py schemamigration <appname> --auto
来验证没有任何更改(南方在进行迁移时甚至不考虑代理模型)。