当前位置:   article > 正文

解决在使用sqlalchemy映射更新mysql时出现的datetime设置的问题_sqlalchemy datetime

sqlalchemy datetime

db.Column(db.DateTime,default=datetime.now()) 在migrate时总是报类似的错误

AttributeError: module 'datetime' has no attribute 'now';

百度说是mysql版本升级了,在5.6以上均存在datetime的问题,应该设置为timestamp,试了几次也是错误。

经多次尝试得知真相:

其中db.DateTime为sqlalchemy模块设置的mysql数据库的字段格式,对应于数据库中的datetime、time、timestamp。

那后面为何要有两个datetime呢?

原来,第二个datetime为python系统的datetime,而非sqlalchemy或flask或mysql数据库。

python中datetime模块定义了5个类,分别是

1.datetime.date:表示日期的类

2.datetime.datetime:表示日期时间的类

3.datetime.time:表示时间的类

4.datetime.timedelta:表示时间间隔,即两个时间点的间隔

5.datetime.tzinfo:时区的相关信息

此处用的就是datetime类,详细的datetime适用方法见datetime模块详解

Python的datetime模块分析

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/253769
推荐阅读
相关标签
  

闽ICP备14008679号