経由pwiz
とNoneです、私が取得:entry in Pub.select()
を反復するとき、データベース内のすべてのエントリは、日付が設定されているもののピーウィーのDateFieldプロパティは私のMySQLデータベースにMySQLデータベース
class BaseModel(Model):
class Meta:
database = database
class Pub(BaseModel):
...
author = TextField(null=True)
...
publish_date = DateField(null=True)
...
はその後、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と報告しました。