如何克隆Django模型实例对象并将其保存到数据库?

发布于 2021-01-29 14:57:58

Foo.objects.get(pk="foo")
<Foo: test>

在数据库中,我想添加另一个对象,它是上述对象的副本。

假设我的桌子有一排。我想用不同的主键将第一行对象插入另一行。我怎样才能做到这一点?

关注者
0
被浏览
86
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    只需更改对象的主键并运行save()。

    obj = Foo.objects.get(pk=<some_existing_pk>)
    obj.pk = None
    obj.save()
    

    如果要自动生成的密钥,请将新密钥设置为“无”。

    有关UPDATE /
    INSERT的更多信息,请点击这里

    有关复制模型实例的官方文档:https :
    //docs.djangoproject.com/en/2.2/topics/db/queries/#copying-model-
    instances



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看