加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Django – 使用order_with_respect_to属性的bulk_crea

发布时间:2020-12-20 13:06:53 所属栏目:Python 来源:网络整理
导读:嗨,我有模型对象列表:my_objects,应保存在数据库中. 此模型在其Meta类中具有order_with_respect_to属性. 当我尝试批量创建此列表时,我得到了: null value in column “_order” violates not-null constraint” during bulk_create 当我只是迭代元素并在每
嗨,我有模型对象列表:my_objects,应保存在数据库中.
此模型在其Meta类中具有order_with_respect_to属性.

当我尝试批量创建此列表时,我得到了:

null value in column “_order” violates not-null constraint” during bulk_create

当我只是迭代元素并在每个元素上调用save()时.一切都很好,但这样的顺序数据库访问并不能满足我……

我试图调用signals.pre_save.send函数,但这并没有改变这种情况.

当我在my_objects的每个signle元素上调用_save_table时,这都有效,但_save_table是save()方法中最重的部分,所以我什么都没得到……

是否有可能只用一个数据库连接来保存批量的django对象?

我正在使用postgresql.

解决方法

来自文档:
https://docs.djangoproject.com/en/1.8/ref/models/querysets/#bulk-create

如果模型的主键是AutoField,则它不会像save()那样检索和设置主键属性.

我猜你的id是自动增量的,现在它没有被保存,这被_order引用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读