繁体   English   中英

烧瓶SQLAlchemy更新限制

[英]Flask sqlalchemy update limit

我尝试使用Flask-SQLAlchemy(而非SQLAlchemy!)在Flask中执行具有限制的更新查询。

db.session.query(ItemObject).filter_by(owner_type=0,item_id=item_id.decode('hex')).update({'owner_type': '1'})

当我尝试“ .limit(1)”或“ update({'owner_type':'1'},mysql_limit = 1)“时,我得到了错误

AttributeError: 'long' object has no attribute 'limit'

要么

TypeError: update() got an unexpected keyword argument 'mysql_limit'

如何不使用execute()进行此查询?

对于您的第一个错误,听起来您正在尝试在调用update()之后再调用limit()。

db.session.query(ItemObject).filter_by(owner_type=0,item_id=item_id.decode('hex')).update({'owner_type': '1'})

这行返回很long的行,因为update()返回匹配的行数(未修改!)。 更新后无法链接限制。

无法对带有update的查询调用limit ,因此无论如何都无法正常工作。 那只是MySQL的事情。

看一下先前的答案-https: //stackoverflow.com/a/25943713/175320-它向您展示了如何使用子查询以可移植的方式获得相同的最终结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM