将数据库对象复制到另一个-django

Posted

技术标签:

【中文标题】将数据库对象复制到另一个-django【英文标题】:copy database objects into another- django 【发布时间】:2015-08-15 02:14:14 【问题描述】:

我知道如何将 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 保存另一个对象。

这是将复制的对象保存到数据库的正确方法还是自动实现此目的的任何其他方式?

【问题讨论】:

How do I clone a Django model instance object and save it to the database? 的可能重复项 【参考方案1】:

您只需创建主键None 即可为新对象获取新主键

new_object = ModelName.objects.get(pk= #OLD_OBJECT_PK )
new_object.pk = None
new_object.save()

【讨论】:

以上是关于将数据库对象复制到另一个-django的主要内容,如果未能解决你的问题,请参考以下文章

如何将月份值从一个 Date 对象复制到另一个对象? [复制]

我如何将对象属性复制到另一个对象?

如何将一个对象的每个键重新映射到另一个对象的值? [复制]

将对象从 plist 文件复制到另一个 plist 文件

如何使用可重复对象中的嵌套必填字段将数据从一个表复制到另一个表

无法将类的对象从一个活动传递到另一个活动? [复制]