SQLalchemy:更新最后由id

时间:2015-08-04 12:46:35

标签: python sqlalchemy

我有两张桌子。员工和历史。员工拥有一个具有匹配密钥代码的员工列表。当员工使用密钥进入时,它会以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>)

1 个答案:

答案 0 :(得分:0)

确保在进行更新后提交会话。

否则您发布的代码在这种情况下应该可以正常工作。