sqlalchemy where 大于日期
时间: 2023-11-23 14:13:37 浏览: 147
你可以使用 `>` 操作符来比较日期,然后将其传递给 `filter` 函数中的 `datetime` 对象。下面是一个示例:
```
from datetime import datetime
from sqlalchemy import create_engine, Column, Integer, String, DateTime
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('sqlite:///example.db')
Base = declarative_base()
class MyTable(Base):
__tablename__ = 'mytable'
id = Column(Integer, primary_key=True)
name = Column(String(50))
created_at = Column(DateTime, default=datetime.now)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
# 获取大于某个日期的记录
date = datetime(2021, 8, 1)
results = session.query(MyTable).filter(MyTable.created_at > date).all()
```
在上面的示例中,我们首先创建了一个名为 `MyTable` 的表,其中包含一个名为 `created_at` 的日期列。然后,我们使用 `filter` 函数获取大于 `2021-08-01` 的所有记录。
注意,`datetime` 对象的格式应该与数据库中的日期格式一致。如果数据库中的日期格式不同,则需要进行相应的格式转换。
阅读全文