[英]create object and bulk upload data into django model
django 的新手.. 我有一个 webrequest,我可以从该请求中获取 json 格式的响应。 我创建了视图,在其中手动将字段映射到每个 object,然后通过循环遍历记录来使用.save 方法。
例子:
for item in response:
dataload = My_model(
person_name = get("person_name",None)
)
dataload.save()
但是这需要很多时间,因为我的数据有很多列和行(100k)..因此我想创建 object 然后进行批量加载..
例子:
for item in response:
dataobj = my_model.objects.create(
person_name = get("person_name",None)
)
_models += (dataobj,)
my_model.objects.bulk_create(_models)
但是,这给了我一个错误“ORA-00001:违反了唯一约束”,我相信这是由于在批量上传过程中没有创建自动生成的 ID。
任何专家都可以帮我解决这个问题并更快地将数据加载到 django model。
谢谢
您以错误的方式使用bulk_create
。 正确的方法是创建一个对象列表,然后像这样调用bulk_create()
:
my_model = [My_model(person_name='some_name') for i in response]
objects = My_model.objects.bulk_create(my_model)
文档解释了对bulk_create()
的注意事项
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.