],flask,flask-sqlalchemy"/>

首页 > 解决方案 > Flask SQLAlchemy 连接查询返回 []

问题描述

为什么是代码

        res = Service.query.join(Counter,(Counter.service_id == Service.id)).filter(Service.dept_id == deptId).all()

        print(res) 

总是返回 []。我想要数组格式的数据。

我的模型如下。如果问题非常原始,请原谅。我对 SQL Alchemy 很陌生。

class Service(FlaskSerializeMixin,db.Model):
        id = db.Column(db.Integer, primary_key=True)
        ser_name = db.Column(db.String(100),unique=True,nullable=False)
        ser_prefix = db.Column(db.String(1),unique=True,nullable=False)
        cnt_num = db.Column(db.Integer,nullable=False)
        pri_q_flg = db.Column(db.Boolean,nullable=False)
        dept_id = db.Column(db.Integer, db.ForeignKey('department.id'),nullable=False)
        cre_time =db.Column(db.DateTime)
        chg_time =db.Column(db.DateTime)
        __table_args__ = (
                db.UniqueConstraint('ser_name', 'dept_id', name='unique_service_dept'),
        )
        pqueues = db.relationship('PQueue',backref='service',lazy=True)
        counters = db.relationship('Counter',backref='service',lazy=True)
class Counter(FlaskSerializeMixin,db.Model):
        id = db.Column(db.Integer, primary_key=True)
        cnt_num = db.Column(db.Integer,nullable=False)
        service_id = db.Column(db.Integer, db.ForeignKey('service.id'),nullable=False)
        user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
        cre_time =db.Column(db.DateTime)
        chg_time =db.Column(db.DateTime)
        __table_args__ = (
                db.UniqueConstraint('cnt_num', 'service_id', name='unique_cnt_service'),
        )

标签: flaskflask-sqlalchemy

解决方案


推荐阅读