Pav*_*dhu 10 python database sqlalchemy flask flask-sqlalchemy
使用 Flask-SQLAlchemy,我想Questions根据另一个表的值删除表中的行,该表链接到表Topic,然后Subject用外键链接到表。我试过这个查询:
db.session.query(Questions).join(Topic)join(Subject).filter(Subject.account_id==current_user.id).delete()
Run Code Online (Sandbox Code Playgroud)
但是,我收到一个错误:
InvalidRequestError: Can't call Query.update() or Query.delete() when join(), outerjoin(), select_from(), or from_self() has been called
Run Code Online (Sandbox Code Playgroud)
所以从这个我想我不能用.delete()同.join()
这个问题有解决方法吗?谢谢。
您不必对查询使用 join ,您可以以某种方式完成它,例如
db.session.query(Post).filter(Post.user_id==current_user.id).delete()
Run Code Online (Sandbox Code Playgroud)
假设您的帖子有一个 user_id 列。
连接表不知道要删除哪个表,Post还是User,因为它实际上构造了一个复杂的中间表,并从中查询。