繁体   English   中英

创建 object 并将数据批量上传到 django model

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM