私はこれをあらゆるところで研究しており、答えを見つけることができないようです。私はこれを複製していないことを望みます(それは私の最初の質問です)。nullフィールドで選択するPeewee構文
私はPeeweeを使って選択クエリを書こうとしていますが、これは通常通りに行われます。WHERE foo = NULL; SQLの世界で。
MySQLは次のようになります。
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| user | varchar(30) | NO | | NULL | |
| peer | varchar(30) | NO | | NULL | |
| deleted | date | YES | | NULL | |
| confirmed | date | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
私の選択クエリは次のようになります。
Peers.select().where(Peers.user == 'foo' and Peers.deleted is None)
しかし、それは動作しません!私はPeers.deleted == ""
とPeers.deleted == "NULL"
を試しました。 MySQL構文はWHERE deleted is NULL;
で終了するはずですが、Peeweeの何もそれをしていないようです。
誰でも手助けできますか?私はドキュメントから何が欠けていますか?
Foo Barからの更新ユーザーのコメント: and not Peers.deleted
は機能しませんでしたが、より多くの情報が得られました。ピーエーは、where
の節をつなぎたいと思うようです。だからではなく、
Peers.select().where(Peers.user == 'foo' and Peers.deleted is None)
のそれは次のようになります。削除にはまだ右の構文を得られない
悲しいことPeers.select().where(Peers.user == 'foo').where(Peers.deleted is None)
は、ヌル行に選択します。
'と –