如何在django中使用多表继承复制对象

时间:2013-10-18 18:39:57

标签: django django-models django-orm multi-table-inheritance

我正在尝试通过多表继承来复制扩展另一个对象的对象。

父级是“组”,子级是“位置”

问题是更改了父对象而不是创建新的父对象和子对象。

这是我正在做的事情:

location = get_object_or_404(Location, pk=pk)

        location.pk = None
        location.name = location.name+' - child object'
        location.save()

不是在各自的表中创建新的位置和组行,而是将组表更新为name = name +' - child object'。

如何让此流程创建新的位置和组行而不是更新“组”行?

谢谢!

1 个答案:

答案 0 :(得分:3)

这里的关键是Django中的多表继承是使用外键实现的,因此“继承”另一个模型的对象只是对其他模型的ForeignKey。您需要复制两者

有关如何操作,请查看this answer中的解决方案。