【发布时间】:2021-08-24 18:46:54
【问题描述】:
我正在使用 Sqlalchemy 学习 Flask,但遇到了这个问题。 假设我有 3 个模型:
class Author(db.Model):
sex = db.Column(db.String) # Male or female
zone = db.Column(db.String(1)) # (A or B)
class SellPlan(db.Model):
is_open = db.Column(db.Boolean)
has_discount = db.Column(db.Boolean)
class Book(db.Model):
plan = db.Column(db.SellPlan, db.ForeignKey('SellPlan'))
author = db.Column(db.Author, db.ForeignKey('Author'))
每本书都有计划和作者的外键。
现在,我想查询 A 区的所有男性作者。而且我还想预取(如 Django 中的预取),每个拥有 PlanSell 的作者的所有书籍都已打开并有折扣(is_open=True,has_discount=True ),所以我以后可以轻松访问数据,例如author.books。
我搜索了我发现我们可以使用joinedload(),但我仍然无法弄清楚如何按 PlanSell 的字段进行过滤
请帮帮我^^
【问题讨论】:
-
你能通过一些例子来展示应该是什么结果。如果我没记错的话,那么您希望作者是男性并且有折扣并且 is_open 然后拿走他的书。
-
是的。我想获得所有作者(男性,住在 A 区)的所有书籍(书籍需要按销售计划过滤(打开,并且有折扣)
标签: python sqlalchemy foreign-keys filtering flask-sqlalchemy