SQLAlchemy 日期字段过滤
在 SQLAlchemy 中过滤日期字段可以精确选择指定日期范围内的记录。考虑以下模型:
class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ...
过滤日期范围
要过滤特定年龄范围内的用户,您可以利用 SQLAlchemy 的过滤机制:
query = DBSession.query(User).filter( and_( User.birthday >= '1988-01-17', User.birthday <= '1985-01-17' ) )
但是,这种方法存在拼写错误。要选择年龄在 18 岁到 30 岁之间的用户,您应该交换大于或等于 (>=) 和小于或等于 (<=) 运算符:
query = DBSession.query(User).filter( and_( User.birthday <= '1988-01-17', User.birthday >= '1985-01-17' ) )
使用 Between
另一种方法是使用 Between 方法,它允许直接指定日期范围:
query = DBSession.query(User).filter( User.birthday.between('1985-01-17', '1988-01-17') )
以上是如何按范围高效过滤 SQLAlchemy 日期字段?的详细内容。更多信息请关注PHP中文网其他相关文章!