我知道如何将python对象复制到另一个,
new_obj.__dict__ = original_obj.__dict__.copy()
但是在玩数据库时,它会用新的对象覆盖旧对象。
我知道old_obj因为同样的id而被覆盖。
所以我尝试的是,从数据库获取最新的id并按如下方式添加1,
obj = Author.objects.latest('id')
put_id = obj.id + 1
然后使用此put_id
保存另一个对象。
这是将复制对象保存到数据库的正确方法还是以其他任何方式自动实现此目的?
答案 0 :(得分:4)
您只需制作主键None
即可获取新对象的新主键
new_object = ModelName.objects.get(pk= #OLD_OBJECT_PK )
new_object.pk = None
new_object.save()