请考虑以下代码:
for entry in db.session.query(MyTable):
entry.fieldX = calculate(entry.fieldA, entry.fieldB, entry.fieldC)
db.session.add(entry) ### IS this line required or is it implicit
db.session.commit()
是否需要明确添加到会话?以下是更好的吗?
entries = []
for entry in db.session.query(MyTable):
entry.fieldX = calculate(entry.fieldA, entry.fieldB, entry.fieldC)
entries.append(entry)
db.session.add_all(entries)
db.session.commit()
答案 0 :(得分:1)
您不需要将entry
个对象添加到会话中,因为它们已经在加载它们的session
中。这就足够了:
for entry in db.session.query(MyTable):
entry.fieldX = calculate(entry.fieldA, entry.fieldB, entry.fieldC)
db.session.commit()