通常,如果要克隆模型对象。它发生如下:
class ModelA():
field
obj = ModelA.objects.get(id=1)
obj.id = None
obj.save()
这里,它将使用新id保存克隆对象。
但是如何克隆完整的继承树。
class ModelA():
field
class ModelB(ModelA):
field
obj = ModelA.objects.get(id=1)
现在如果我们这样做,只有ModelA将在db中克隆,但是如何克隆模型B也具有与obj相同的ptr id。
我尝试过使用,
obj.ModelB.ptr_id = None
obj.ModelB.save()
无效。
答案 0 :(得分:0)
将会这样完成。
obj.ModelB.id = None
obj.ModelB.ptr_id = None
obj.ModelB.save()
obj.save()