5

Google App Engine のデータストア モデリングで、UserProperty クラスのプロパティの null 値を確認するにはどうすればよいですか? 例:私はこのコードを持っています:

class Entry(db.Model):
  title = db.StringProperty()
  description = db.StringProperty()
  author = db.UserProperty()
  editor = db.UserProperty()
  creationdate = db.DateTimeProperty()

エディターが null でないエントリを確認したい場合、この種の GqlQuery は使用できません

query = db.GqlQuery("SELECT * FROM Entry " +
                    "WHERE editor IS NOT NULL" +
                                    "ORDER BY creationdate DESC")
    entries = query.fetch(5)

UserProperty で変数の存在を確認する方法はありますか? ありがとうございました!

4

1 に答える 1

13
query = db.GqlQuery("SELECT * FROM Entry WHERE editor > :1",None)

ORDER BYただし、ある列別の列に不等式条件を設定することはできません。これはよく知られた GAE の制限であり、プロパティが UserProperty であることや、None で行っている不等式チェックとは関係ありません。

編集:以前に != がありましたが、@Nick が指摘したように、!= None は > None であり、> は GAE で約 2 倍高速です (!= は < と > の結合によって合成されるため)。 > ここに価値のある最適化があります。

于 2009-08-09T21:21:05.163 に答える