flask - 使用 Flask-sqlalchemy 过滤今天的日期数据(从 YYYY-MM-DD-HH: MM: SS 格式转换为 YYYY-MM-DD 没有小时、分钟和秒)
问题描述
我正在尝试过滤创建日期等于今天的位置。考虑以下函数:
from sqlalchemy import func
from datetime import date
def attempt_count(user_id):
r = db_session.query(RecoveryToken)\
.filter(RecoveryToken.user_id == user_id)\
.filter(func.date(RecoveryToken.created_at) == date.today()).all()
number = len(r)
print('todays records', number)
return number
模型.py
created_at = Column(DateTime, nullable=True,default=datetime.datetime.now(tz=tz))
我正在尝试过滤创建日期等于今天的位置。我遇到的问题是数据库记录采用这种格式:2021-09-07 20:11:18.000
. 在不考虑不同格式的情况下比较这些值的最佳方法是什么。
解决方案
尝试 .date() :
.filter(RecoveryToken.created_at.date() == date.today())
.date() 返回 DateTime 字段的日期
推荐阅读
- google-apps-script - 如何加快 Google 电子表格的 Google Apps 脚本代码
- javascript - Javascript回调与内联初始化“回调”
- flask - 使用 Curl 命令模拟 Flask 应用程序上的流量
- intellij-idea - 单击装订线标记时看到的小型 git diff 弹出窗口的键盘快捷键?
- azure - 在 Azure Kubernetes 服务 (AKS) 中,我有一个“ClusterIP”类型的服务,它是否在内部执行 pod 的负载平衡?
- unity3d - 在运行时检测层次结构变化
- testng - 使用 RestAssured 的数据提供者不匹配 TestNG
- c - 使用 malloc 读取嵌套结构值
- ms-access - Microsoft Access 创建带格式的键值列(查找)
- python - 通过 Dockerfile 安装 openvino 和 opencv,opencv 不使用 dockerfile 构建后端/即