Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLAlchemy ORM load_only具有多个联接的列_Python_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

Python SQLAlchemy ORM load_only具有多个联接的列

Python SQLAlchemy ORM load_only具有多个联接的列,python,sqlalchemy,flask-sqlalchemy,Python,Sqlalchemy,Flask Sqlalchemy,现在我有: class DeviceModel(db.Model): id = db.Column(db.Integer, primary_key=True) vendor = db.Column(db.String, nullable=False) model = db.Column(db.String, nullable=False) group_id = db.Column(db.ForeignKey('device_group.id', ondelete

现在我有:

class DeviceModel(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    vendor = db.Column(db.String, nullable=False)
    model = db.Column(db.String, nullable=False)
    group_id = db.Column(db.ForeignKey('device_group.id', ondelete='SET NULL'), nullable=True)

class DeviceGroup(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False, unique=True)
    device_type_id = db.Column(db.ForeignKey('device_type.id', ondelete='SET NULL'), nullable=True)
    device_type = db.relationship("DeviceType", lazy='joined')

class DeviceType(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False, unique=True)
如何仅查询
DeviceModel.id
DeviceType.name
字段

在纯sql中,它是:

SELECT device_model.id               AS device_model_id,
       device_type_1.name            AS device_type_1_name
FROM device_model
       LEFT OUTER JOIN device_group AS device_group_1 ON device_group_1.id = device_model.group_id
       LEFT OUTER JOIN device_type AS device_type_1 ON device_type_1.id = device_group_1.device_type_id;

“一杯茶创造了魔力,”我回答自己

records = db.session.query(DeviceModel.id,DeviceType.name).join(DeviceGroup).join(DeviceType).all()