Python sqlalchemy中嵌套联接的正确方法

Python sqlalchemy中嵌套联接的正确方法,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,使用Flask/sqlalchemy——假设我有多个相互关联的表。经典示例:订单-行项目-产品。如果我希望所有订单都包含所有行项目和所有产品,我将如何正确地查询表。以下是我的尝试: query = Orders.query .join(Lineitems, Orders.id==Lineitems.orders_id) .join(Products, Lineitems.product_id == Product.id) .all() 模型 class Orders(db.M

使用Flask/sqlalchemy——假设我有多个相互关联的表。经典示例:订单-行项目-产品。如果我希望所有订单都包含所有行项目和所有产品,我将如何正确地查询表。以下是我的尝试:

query = Orders.query
   .join(Lineitems, Orders.id==Lineitems.orders_id)
   .join(Products, Lineitems.product_id == Product.id)
   .all()
模型

class Orders(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     lineitems = db.relationship("Lineitems", backref="orders")

class Lineitems(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     order_id = db.Column(db.Integer, db.ForeignKey('orders.id'))
     product_id= db.Column(db.Integer, db.ForeignKey('products.id'))
     products = db.relationship("Products", backref='products', foreign_keys=[product_id])

class Products(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     name = db.Column(db.String, nullable=False)
 

看,我试过多种方法。我的方法对我希望它做的事情起了作用。谢谢