如何在 Flask sqlalchemy 中查询某段日期时间?

Tre*_*Cat 5 python sqlalchemy flask 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)
Run Code Online (Sandbox Code Playgroud)

我想查询某个时期的日期时间,例如,我需要查询之间发布的所有帖子2016-11-012016-11-30
我试图通过拼接字符串来实现这一点,如下所示:

posts = Post.query.filter(Post.post_time <= year_month+'-30').filter(Post.post_time >= year_month+'-01')
Run Code Online (Sandbox Code Playgroud)

但这很尴尬,有没有更好的方法来解决这个问题?

Mat*_*aly 11

使用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)
Run Code Online (Sandbox Code Playgroud)

日期时间文档