[英]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.