Peewee bulk_create return ID's

Peewee bulk_create return id's

如果 peewee 中的记录来自 bulk_create

,我需要 return ID

我可以做这样的事情

from models import Table

t = Table.create(**data)
print(i.id)

我得到了一条新记录的 id

但如果我尝试

t = Table.bulk_create(list[**data])
for i in t:
    print(i.id)

这里我得到一个错误:'t' 是 'NoneType'

那么我怎样才能从 peewee bulk_create 中获取 ID?

Peewee return ID 列表如果您使用的数据库支持RETURNING条款。因此,如果您使用的是 Postgresql,那么 peewee 将 return ID 列表。

使用 bulk_create() 的原因是因为它发出了一个高效的查询——一次插入多行。 Sqlite 和 mysql 只提供 "last insert id".