修改查询Flask-SQLAlchemy中的日期时间格式



我是Flask和SQLalchemy的新手,我目前正在查询MySql数据库并在javascript中使用结果。下面是查询的一个示例:

month = db.session.query(Certificates.msm, Certificates.certificate_type, func.count(Certificates.id),func.month(Certificates.delivery_time)).filter(Certificates.report_sent).filter(Certificates.msm == msm).group_by(Certificates.certificate_type, Certificates.msm, func.month(Certificates.delivery_time)).all()

结果如下:

[('bob', 'base-certificate', 60, 3), ('bob', 'case-certificate', 1, 3), ('bob', 'standard-certificate', 7, 3)]

它将月份作为三月的数字返回,在本例中是3,这使得javascript很难理解。我试图重新格式化查询以呈现不同的格式:函数。month to function .strftime

month = db.session.query(Certificates.msm, Certificates.certificate_type, func.count(Certificates.id),func.strftime(%m,Certificates.delivery_time)).filter(Certificates.report_sent).filter(Certificates.msm == msm).group_by(Certificates.certificate_type, Certificates.msm, func.month(Certificates.delivery_time)).all() 

但是它给了我一个错误消息,方法不存在

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1305, 'FUNCTION slowmo.strftime does not exist')

是否有一种方法可以显示不同的日期格式,该格式聚合月份的记录并将其显示为日期对象,而不是以javascript中可读格式或更易于使用的整数格式显示。

您可以使用python内置的datetime库。它有一些函数可以根据给定的数字以不同的格式返回完整的日期&时间对象。

最新更新