簡體   English   中英

Django復制實例批量創建

[英]Django copy instances bulk create

當實例之間多個字段不同時,復制Django對象以進行批量創建的最佳方法是什么?

例如我有:

objects_to_create = []
for i in range(5):
    new_obj = obj
    new_obj.pk = None
    new_obj.foo = i
    objects_to_create.append(new_obj)
M.objects.bulk_create(objects_to_create)

但是,對於所有這些新創建的對象,foo將具有值4,因為批量創建將保存5個new_obj實例,因為它在循環末尾。 有沒有一種方法可以創建可以在保存之前進行修改的副本? 謝謝。

嘗試使用deepcopy創建對象的副本:

import copy
objects_to_create = []
for i in range(5):
   new_obj = copy.deepcopy(obj)
   new_obj.pk = None
   new_obj.foo = i
   objects_to_create.append(new_obj)
M.objects.bulk_create(objects_to_create)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM