测试同学突然给报了bug,说所有新插入的数据的time字段-时间都一样。稍微一查发现,差不多是程序启动的时间。
代码如下:
created_time = Column(TIMESTAMP, default=datetime.now())
updated_time = Column(TIMESTAMP, default=datetime.now(), onupdate=datetime.now())
网上简单查了一下,应该使用函数
的形式,而不是直接调方法
,不然sqlalchemy会缓存第一次调用的结果,之后不会再调用,写成这样就可以了:
created_time = Column(TIMESTAMP, default=datetime.now)
updated_time = Column(TIMESTAMP, default=datetime.now, onupdate=datetime.now)
特此记录
网友评论