flask-sqlalchemy调用offset后删除查询中的项目

时间:2018-12-17 18:46:12

标签: python mysql python-3.x sqlalchemy flask-sqlalchemy

目标:限制一对多关系中的孩子数量,并要求最少的数据库访问次数

如果我具有简单的一对多sql-alchemy关系,并且尝试使用以下命令删除超过max_children的子项:

child.query.with_parent(parent).order_by(child.id.desc()).offset(max_children).delete()

我得到了错误:

sqlalchemy.exc.InvalidRequestError:调用offset()后无法调用Query.update()或Query.delete()

duck-duck-go带我到this discussion,但是我仍然不确定如何在1个查询中完成此操作。我可以调用.delete()而不是.all(),然后遍历列表以删除每个项目,但这是最有效的方法吗?

0 个答案:

没有答案