我正在尝试复制一个对象,该对象通过多表继承扩展另一个对象。
父项是组,子项是位置
问题是更改了父对象,而不是创建新的父对象和子对象。
这是我正在做的事情:
location = get_object_or_404(Location, pk=pk)
location.pk = None
location.name = location.name+' - child object'
location.save()
这不是在各自的表中创建新的位置和组行,而是将组表更新为名称 = name + ' - 子对象'。
如何让此过程创建新的位置和组行,而不是更新组行?
谢谢!
这里的关键是 Django 中的多表继承是使用外键实现的,因此"继承"另一个模型的对象只是 ForeignKey'ed 到另一个模型。您需要复制两者。
有关如何执行此操作,请查看此答案中的解决方案。