从Django.2到Django 1.11的继承模型

2024-06-26 01:35:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我的任务是将项目从django版本1.8.2转换为版本1.11。面对一个我无法应付的问题。在1.8.2中运行良好的表模型在1.11版中停止工作,并出现错误:

core.CarModel.manufacture: (models.E006) The field 'manufacture' clashes with the field 'manufacture' from model 'core.page'.

显然这是由于模型的继承,由于项目比较旧,我无法从根本上改变表的方案,请告诉我如何摆脱这种情况。 提前谢谢你的帮助。在

我复制了模型方案,它在1.8.2上运行良好,在1.11中停止工作:

^{pr2}$

Tags: the项目djangocore模型版本fieldmodels
1条回答
网友
1楼 · 发布于 2024-06-26 01:35:11

因为页面模型由Manufacture模型继承,django为页面对象创建了一个代理字段“Manufacture”,但是这个名称在CarModel模型中使用,这会导致冲突。在django版本1.8中,该字段被称为“manufacturer”,因此没有冲突。在django1.9、1.10、1.11版本中,该字段称为“manufacture”。在

解决方案是将CarModel模型中的字段名从“manufacture”更改为另一个。在

相关问题 更多 >