在Flask中,我有一个名为User的模型,如下所示:
class Post(db.Model):
__tablename__ = 'post'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(255))
content = db.Column(db.Text)
post_time = db.Column(db.DateTime(), index=True, default=datetime.now)
我想查询特定时段的日期时间,例如,我需要查询2016-11-01
和2016-11-30
之间发布的所有帖子
我尝试通过拼接字符串实现这一点,如下所示:
posts = Post.query.filter(Post.post_time <= year_month+'-30').filter(Post.post_time >= year_month+'-01')
但这很尴尬,有没有更好的方法呢?
答案 0 :(得分:2)
使用datetime.date
模块:
from datetime import date
start = date(year=2016,month=11,day=1)
end = date(year=2016,month=11,day=30)
posts = Post.query.filter(Post.post_time <= end).filter(Post.post_time >= start)