我正在嘗試使用 SQLAlchemy 為時間戳列設置值,但我遇到以下錯誤:column "timestamp" is of type timestamp without time zone but expression is of type numeric我的表如下所示:class SomeTable(db.Model):
timestamp = Column(TIMESTAMP)插入嘗試看起來像這樣:SomeTable(timestamp=time.time())當我使用 datetime.now() 而不是 time.time() 時,記錄被插入到表中,但是當我從數據庫中選擇它時,它具有以下格式:2019-04-02 11:44:24.801046所以看起來 TIMESTAMP 字段不存儲時間戳格式。這是常規的 postgres 行為嗎?或者我錯過了什么?
1 回答

慕勒3428872
TA貢獻1848條經驗 獲得超6個贊
我認為這很好,因為接下來是正確的:
Column('timestamp', TIMESTAMP(timezone=False), nullable=False, default=datetime.now())
所以默認情況下你在datetime.now()
那里,它是關于演示的
datetime.now()
會給你 '2019-04-02 14:21:33.715782
datetime.now().isoformat()
會給你 '2019-04-02T14:31:09.071147'
檢查它:http : //www.sqlfiddle.com/#!15/d0c6a/8
如果您取消注釋第三個插入,您將獲得與您的完全相同的異常
添加回答
舉報
0/150
提交
取消