使用限制更新SQLALCHEMY查询

时间:2018-10-21 09:02:02

标签: python sqlalchemy

我想要实现的是使用limit从数据库中选择几行,然后尝试更新它。现在我正面临麻烦,因为sqlalchemy不允许进行限制更新。 这是我的代码

user_status = db.session.query(User).filter(User.Status == 10).limit(10)
user_status.update({"Status": 20})
db.session.commit()

还有其他方法可以实现吗?

1 个答案:

答案 0 :(得分:0)

我认为您需要在限制后全选所有行。 阅读文档,限制功能没有更新,因此您可以循环访问值,因为它是Sample对象(模型)的数组。

尝试:

user_status = db.session.query(User).filter(User.Status == 10).limit(10).all()
for user_st in user_status:
    user_st.Status = 20
db.session.commit()

P.S。

如果它不起作用,请在此处添加您的模型以供我们查看。