如何从批量插入 Peewee 中获取 ID?
How to get ids from bulk inserting in Peewee?
如何在 Peewee 中批量插入 ids
?
我需要 return 插入 id 来创建新的字典数组,如下所示:
a = [{"product_id": "inserted_id_1", "name": "name1"}, {"product_id": "inserted_id_2", "name": "name1"}]
然后我需要像这样批量插入:
ids = query.insertBulk(a)
反过来,最后一个查询应该return me new ids for further similar insertion.
如果您使用的是 Postgresql,它支持 "INSERT ... RETURNING" 形式的查询,您可以获得所有 ID:
data = [{'product_id': 'foo', 'name': 'name1'}, {...}, ...]
id_list = SomeModel.insert_many(data).execute()
对于不支持 RETURNING 子句的 SQLite 或 MySQL,您最好这样做:
with db.atomic() as txn:
accum = []
for row in data:
accum.append(SomeModel.insert(row).execute())
如何在 Peewee 中批量插入 ids
?
我需要 return 插入 id 来创建新的字典数组,如下所示:
a = [{"product_id": "inserted_id_1", "name": "name1"}, {"product_id": "inserted_id_2", "name": "name1"}]
然后我需要像这样批量插入:
ids = query.insertBulk(a)
反过来,最后一个查询应该return me new ids for further similar insertion.
如果您使用的是 Postgresql,它支持 "INSERT ... RETURNING" 形式的查询,您可以获得所有 ID:
data = [{'product_id': 'foo', 'name': 'name1'}, {...}, ...]
id_list = SomeModel.insert_many(data).execute()
对于不支持 RETURNING 子句的 SQLite 或 MySQL,您最好这样做:
with db.atomic() as txn:
accum = []
for row in data:
accum.append(SomeModel.insert(row).execute())