目标:限制一对多关系中的孩子数量,并要求最少的数据库访问次数
如果我具有简单的一对多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()
,然后遍历列表以删除每个项目,但这是最有效的方法吗?