首页 > 解决方案 > 烧瓶 SQLAlchemy 对象中的默认 unix 时间值

问题描述

我正在尝试存储默认创建对象时的 unix 时间戳。但是,当对象存储在数据库中时,我总是得到相同的错误值。这是我的课:

from time import time

class Notification(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128), index=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    timestamp = db.Column(db.Float, index=True, default=time)
    payload_json = db.Column(db.Text)

    def get_data(self):
        return json.loads(str(self.payload_json))

如果我启动烧瓶壳:

>>>from time import time
>>>time()
1571733064.7366862
>>>n=Notification(name='dummy')
db.session.add(n)
>>> db.session.commit()
>>> n.timestamp
1571730000.0

关于这里发生了什么的任何见解??!!!我签入了一个 Mysql shell 并且 SELECT UNIX_TIMESTAMP() 给出了正确的值。

提前致谢

标签: pythonmysqltimesqlalchemy

解决方案


推荐阅读