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()