如何在Flask sqlalchemy中查询特定时间段的日期时间?

时间:2016-11-06 09:56:15

标签: python flask sqlalchemy flask-sqlalchemy

在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-012016-11-30之间发布的所有帖子
我尝试通过拼接字符串实现这一点,如下所示:

posts = Post.query.filter(Post.post_time <= year_month+'-30').filter(Post.post_time >= year_month+'-01')

但这很尴尬,有没有更好的方法呢?

1 个答案:

答案 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)

datetime documentation