django-bulk-update-or-create:适用于Django模型管理员的`bulk_update_or_create`

时间:2024-06-19 18:13:50
【文件属性】:

文件名称:django-bulk-update-or-create:适用于Django模型管理员的`bulk_update_or_create`

文件大小:20KB

文件格式:ZIP

更新时间:2024-06-19 18:13:50

Python

Django 批量更新或创建 每个使用 Django ORM 的人最终都会发现自己在执行批量update_or_create操作:从外部来源获取文件、与外部 API 同步等。 如果记录数很大, QuerySet.update_or_create的慢会很突出:使用起来非常实用,但它总是执行一次SELECT然后执行一次INSERT (如果 select 没有返回任何内容)或UPDATE / .save (如果它做了)。 网上查了一下,确实有不少人遇到过这种情况,虽然貌似没有什么好的解决办法: 如果您知道所有记录都是新的(并且您没有使用多表继承),则bulk_create非常快 bulk_update可以用相同的UPDATE语句(使用巨大的WHERE条件和CASE )更新一些记录,但是您需要确保它们都存在 UPSERTs ) 看起来很有趣(TODO 在不同的包上)但它们会受到bulk_


【文件预览】:
django-bulk-update-or-create-master
----bulk_update_or_create()
--------apps.py(114B)
--------__init__.py(148B)
--------query.py(6KB)
----.github()
--------workflows()
----tests()
--------tests()
--------settings.py(3KB)
--------settings_mysql.py(308B)
--------manage.py(696B)
--------urls.py(747B)
--------settings_postgresql.py(264B)
----tox.ini(721B)
----LICENSE(1KB)
----setup.cfg(1KB)
----setup.py(63B)
----.gitignore(2KB)
----Makefile(2KB)
----README.md(5KB)

网友评论