Python SQLAlchemy-如何按行选择cerain?

Python SQLAlchemy-如何按行选择cerain?,python,select,sqlalchemy,Python,Select,Sqlalchemy,如何在SQLAlchemy中模拟选择?我想创建一个函数,它接受几个参数并返回一行,其中包含这些值,但我无法执行SELECT 我找到的唯一方法是在下面,但在SQLAlchemy模块中找不到metadata 编辑:我发现BoundMetaData已被弃用,因此MetaData是合适的,但它说Select没有len # -*- coding: utf-8 -*- import sqlalchemy from sqlalchemy import Column, Table from sqlalchemy

如何在
SQLAlchemy
中模拟
选择
?我想创建一个函数,它接受几个参数并返回一行,其中包含这些值,但我无法执行
SELECT

我找到的唯一方法是在下面,但在
SQLAlchemy
模块中找不到
metadata

编辑:我发现
BoundMetaData
已被弃用,因此
MetaData
是合适的,但它说
Select没有len

# -*- coding: utf-8 -*-
import sqlalchemy
from sqlalchemy import Column, Table
from sqlalchemy import UniqueConstraint
from sqlalchemy import create_engine
from sqlalchemy.exc import IntegrityError
from sqlalchemy.ext.declarative import declarative_base

engine = create_engine('sqlite:///db.db', echo=False)
Base = declarative_base()

s = sqlalchemy.orm.Session(engine)


class Flight(Base):
    __tablename__ = 'flights'

    id = Column(sqlalchemy.Integer, primary_key=True)
    destination_from = Column(sqlalchemy.String)
    destination_to = Column(sqlalchemy.String)
    creation_date = Column(sqlalchemy.Date)
    start_date = Column(sqlalchemy.Date)
    return_date = Column(sqlalchemy.Date)
    price = Column(sqlalchemy.Float)
    filename = Column(sqlalchemy.String)
    bought_days_before = Column(sqlalchemy.Integer)

    __table_args__ = (
        UniqueConstraint('creation_date', 'destination_from', 'destination_to', 'start_date', 'return_date', 'price'),
    )


Base.metadata.create_all(engine)


def insert_into_flights(**kwargs):
    s.add(Flight(**kwargs))
    try:
        s.commit()
    except IntegrityError as e:
        s.rollback()


def get_prices(date_from, days, bought_days_before, destination, min=True, avg=False):
    flights = Table('flights', metadata ,autoload=True
                )
    print len(flights.select())
这是一个选择id为34的航班的示例。 看

这是一个选择id为34的航班的示例。
请参见“模拟”是什么意思?你试图“模拟”的目的是什么?只是用错了词。我想做杰西·贝克回答的选择。你说的“模拟”是什么意思?你试图“模拟”的目的是什么?只是用错了词。我想按照杰西·贝克的回答做选择。
s.query(Flight).filter(Flight.id==34).all()