通過pwiz
我的MySQL數據庫,我得到:peewee的DateField屬性是無與MySQL數據庫
class BaseModel(Model):
class Meta:
database = database
class Pub(BaseModel):
...
author = TextField(null=True)
...
publish_date = DateField(null=True)
...
然後,迭代entry in Pub.select()
時,entry.publish_date
總是None
,但數據庫中的所有條目都設定日期(或至少一部分,如年,即像2016-00-00
這樣的條目)。
(有一個related question但問題是不同的:它沒有設置,因此該解決方案是auto_now_add
。)
這是爲什麼?也許formats
是錯誤的?如何解決這個問題?
如何調試?
一些調試:
我想這peewee
將使用pymsql
引擎蓋下。於是,我就做這個簡單的事情:
import pymysql
conn = pymysql.connect(...)
cur = conn.cursor()
cur.execute("SELECT publish_date FROM pub")
然後遍歷row in cur
,我只會變得row == (None,)
。
當事先鑄造價值char
,它的工作原理,也就是我得到的值作爲一個字符串:
cur.execute("SELECT CAST(publish_date AS char) FROM pub")
,我認爲這是一個錯誤了。我報告了here for peewee和here for pymysql。