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