如题,django 中貌似只有 bulk_update 和 bulk_create,有什么办法可以实现 bulk_update_or_create 吗
如题,django 中貌似只有 bulk_update 和 bulk_create,有什么办法可以实现 bulk_update_or_create 吗
|
hmxxmhDec 11, 2019
1
for 循环 + update_or_create
|
|
estDec 11, 2019
3
ORM 再厉害也没法实现 sql 支持不了的事。建议直接撸 insert ... on duplicate update ...
|
|
Ehco1996Dec 11, 2019
7
@wonder1z
bulk_create 的本质其实是 insert many 而你的需求是 update_or_create 貌似单条 sql 是做不到的 ( 我也不确定 我觉得比较简单的是分成两步 然后外面套事务 * bulk_create * bulk_update |
|
hmxxmhDec 11, 2019
12
@ytymf with transaction.atomic 只是进入事务,异常统一回滚,不能提升性能,其实我觉得一下创建上千条,肯定慢,放到 celery 里面让他慢慢跑吧
|
|
encroDec 12, 2019
16
|
|
0kakaMar 1, 2020
17
create( )
|
|
bnm965321Mar 12, 2020
18
建议拆分成两个数据集合,先用 unique 字段查询哪些需要 update,然后拆分
|