我有两张桌子。员工和历史。员工拥有一个具有匹配密钥代码的员工列表。当员工使用密钥进入时,它会以in_time / out_time添加到历史记录中。我遇到的问题是使用out_time更新History表行。我已尝试通过employee_id和last_insert进行过滤以获取要更新的历史记录ID。相反,它将每个out_time更新为相同的。
History
---------------------------------
|id|employee_id|in_time|out_time|
Employee
-----------------------------
|id|name|key
def update_location(id):
return models.session.query(History).filter(History.employee_id == id).\
order_by(History.in_time.desc()).first()
def out_update(id, time):
History.update().where(History.id==id).values(out_time=time)
i = update_location(<employee_id>)
out_update(i.id, <time>)
答案 0 :(得分:0)
确保在进行更新后提交会话。
否则您发布的代码在这种情况下应该可以正常工作。