我喜欢构建一个查询来返回间隔date_start
和date_finish
之间的元素,过滤特定的时间间隔,如02AM到04AM。
all_elements = "elements >= date_start and <= date_finish"
all_elements_on_interval = "all_elements >= x.time and <= y.time"
ps:这是SQLAlchemy的第一次。
答案 0 :(得分:1)
如果您将列类型设为sqlalchemy.DateTime
对象,则可以运行非常简单的过滤器; sqlalchemy使用python datetime.datetime()
对象。
class Element(Base):
__tablename__ = 'elements'
id = Column(Integer, primary_key=True)
name = Column(String(64))
dt = Column(DateTime)
date_start = datetime(2017, 10, 27, 2, 0)
date_finish = datetime(2017, 10, 27, 4, 0)
all_elements_on_interval = session.query(Element).filter(and_(Element.dt >= date_start, Element.dt <= date_finish)).all()
不要忘记导入日期时间和sqlalchemy和_
from datetime import datetime
from sqlalchemy import and_