美文网首页
sqlalchemy表字段默认时间的一个小坑

sqlalchemy表字段默认时间的一个小坑

作者: 200Ok | 来源:发表于2020-11-24 21:47 被阅读0次

    测试同学突然给报了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)
    

    特此记录

    相关文章

      网友评论

          本文标题:sqlalchemy表字段默认时间的一个小坑

          本文链接:https://www.haomeiwen.com/subject/hfiwiktx.html