您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – Flask-SQLAlchemy查询多对多

5b51 2022/1/14 8:20:38 python 字数 2435 阅读 474 来源 www.jb51.cc/python

我在类别和产品之间有多对多的关系,如下所示:category_product = db.Table('category_product', db.Column('category_id', db.Integer,

概述

我在类别和产品之间有多对多的关系,如下所示:

category_product = db.Table('category_product',db.Column('category_id',db.Integer,db.ForeignKey('category.id')),db.Column('product_id',db.ForeignKey('product.id')))


class Product(db.Model):
    """ sqlAlchemy Product Model """
    id = db.Column(db.Integer,primary_key=True)
    sku = db.Column(db.String(10),unique=True,nullable=False)
    name = db.Column(db.String(80),nullable=False)
    categories = db.relationship('Category',secondary=category_product,backref=db.backref('categories',lazy='dynamic'))

    def __init__(self,name):
        self.name = name

    def __repr__(self):
        return '
  
   sqlAlchemy Category Model """
    id = db.Column(db.Integer,primary_key=True)
    name = db.Column(db.String(80),nullable=False)
    products = db.relationship('Product',backref=db.backref('products',name):
        self.name = name

    def __repr__(self):
        return '
   
  

我试图获取由category_id指定的给定类别中的所有Product对象:

products = db.session.query(Category).\
        filter_by(id=category_id).\
        products.\
        all()

但是,我得到以下异常:

AttributeError: 'Query' object has no attribute 'products'

我可能错过了一些简单的东西.

products = db.session.query(Category).\
    filter_by(id=category_id).\
    products.\
    all()

all_products = Category.query.\
    filter_by(id=category_id).\
    first().\
    products

总结

以上是编程之家为你收集整理的python – Flask-SQLAlchemy查询多对多全部内容,希望文章能够帮你解决python – Flask-SQLAlchemy查询多对多所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶