私はこれをどこでも調査しましたが、答えが見つからないようです。これを複製していないことを願っています(SOに関する最初の質問であるため)。
通常は... WHERE foo = NULL; になるPeeweeを使用して選択クエリを作成しようとしています。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
機能しませんでしたが、詳細情報が表示されました。peewee はwhere
節を連鎖させたいようです。だから代わりに
Peers.select().where(Peers.user == 'foo' and Peers.deleted is None)
そのはず:
Peers.select().where(Peers.user == 'foo').where(Peers.deleted is None)
悲しいことに、削除された null 行を選択するための正しい構文はまだ得られません。