在 Flask-SQLAlchemy 中比较日期
Comparing Dates in Flask-SQLAlchemy
我一直在尝试比较给 SQLALchemy 的查询中的日期,如下所示:
start = time.strptime(start, "%d%m%y")
end = time.strptime(end, "%d%m%y")
list_ideas = Idea.query.filter(time >= start, time <= end).all()
但是,无论给定日期如何(其中 Idea.time = db.Column(db.DateTime, default=db.func.now())
),这都不会 return 结果。我已经搜索了一些关于这个主题的其他答案,从我收集到的内容来看,我没有犯同样的错误。
此外,将查询更改为 Idea.query.filter(time >= start, time <= end, deleted=False).all()
会出现错误:
TypeError: filter() got an unexpected keyword argument 'deleted'
任何指点将不胜感激。
--
编辑:我注意到我正在使用 import time
,这可能导致了错误。但是,将其更改为 from time import strptime
后,我现在遇到错误:
NameError: global name 'time' is not defined
尝试使用日期时间模块
from datetime import datetime
Idea.query.filter(Idea.time >= datetime.strptime(start, '%Y-%m-%d'),
Idea.time <= datetime.strptime(end, '%Y-%m-%d')).all()
您只需要更改模式以匹配您正在使用的任何格式
尝试使用func.DATE()函数:
from sqlalchemy import func
start = time.strptime(start, "%d%m%y")
end = time.strptime(end, "%d%m%y")
list_ideas = Idea.query.filter(func.DATE(time) >= start, func.DATE(time) <= end).all()
参考相似issue.
我一直在尝试比较给 SQLALchemy 的查询中的日期,如下所示:
start = time.strptime(start, "%d%m%y")
end = time.strptime(end, "%d%m%y")
list_ideas = Idea.query.filter(time >= start, time <= end).all()
但是,无论给定日期如何(其中 Idea.time = db.Column(db.DateTime, default=db.func.now())
),这都不会 return 结果。我已经搜索了一些关于这个主题的其他答案,从我收集到的内容来看,我没有犯同样的错误。
此外,将查询更改为 Idea.query.filter(time >= start, time <= end, deleted=False).all()
会出现错误:
TypeError: filter() got an unexpected keyword argument 'deleted'
任何指点将不胜感激。
--
编辑:我注意到我正在使用 import time
,这可能导致了错误。但是,将其更改为 from time import strptime
后,我现在遇到错误:
NameError: global name 'time' is not defined
尝试使用日期时间模块
from datetime import datetime
Idea.query.filter(Idea.time >= datetime.strptime(start, '%Y-%m-%d'),
Idea.time <= datetime.strptime(end, '%Y-%m-%d')).all()
您只需要更改模式以匹配您正在使用的任何格式
尝试使用func.DATE()函数:
from sqlalchemy import func
start = time.strptime(start, "%d%m%y")
end = time.strptime(end, "%d%m%y")
list_ideas = Idea.query.filter(func.DATE(time) >= start, func.DATE(time) <= end).all()
参考相似issue.