鉴于这样的模型:
class MyModel(Base):
__tablename__ = 'my_model'
id = Column(Integer, nullable=False, primary_key=True, index=True)
value = Column(Numeric, doc='value')
batch = Column(Integer, Sequence('my_model_batch_seq'), doc='Batch ID of the update')
我想发出一个批量插入,用于添加具有相同batch
ID的所有新对象。下面的代码为每个对象增加,这不是我正在寻找的。 p>
objects = [
MyModel(
value=x,
) for x in range(10)
]
db.bulk_save_objects(objects)
答案 0 :(得分:1)
如果我理解正确,您可以先明确选择下一个值:
# Note that this may fail, if you haven't configured a bind on
# your Session.
batch = db.query(func.nextval('my_model_batch_seq')).scalar()
然后传递它:
objects = [
MyModel(
value=x,
batch=batch,
) for x in range(10)
]
db.bulk_save_objects(objects)