2011-12-20 16 views
0

同じモデルの他のプロパティ(counter)に依存するモデルには、プロパティ(isFull)があります。GAEのデータストアでSQLライクな関数を使用する

これまでは、変更に依存するプロパティがあるときはいつでも、プロパティの値を自分で設定していました。私はcounterをチェックしてTrueまたはFalseを返す関数isFull()を書きました。私はすべてが、それらのいずれかのisFull場合、私が知っているBADである、チェック結果を反復フェッチしない限り、しかし、私は

filterまたはgqlと私の機能を使用する方法があります。..クエリでそれを使用することはできませんか?またはそれを行う別の方法がありますか?私は、カウンタをチェックするためにフィルタを使うことができると知っていますが、それは、日付、カウンタ、別のフラグをすべて同時にチェックする必要がある場合よりも複雑になります。

+0

私はモデルクラスにクエリを保存することについて考えて、そのレベルのすべての種類のダーティクエリを実行するより良い方法はありますか? –

答えて

4

の線に沿って何かがあなたのデータストア内のプロパティとして、あなたの計算された値を格納するComputedPropertyを使用して、フィルタリングを連鎖することによりisFullプロパティの必要性が時代遅れにしたい場合がありますフィルタリングすることができます。

+1

優れています。どのようにこれは文書化されていないのですか? –

+0

同じことを分かち合ってくれてありがとう=) –

0

別のプロパティが変更されたときに自動的にプロパティを再計算する方法がわかりません。カスタムプロパティを作成して更新の一部を隠すことはできますが、それに依存するプロパティを更新するときに手動で更新する必要があります。

あなたが代わりに

query.filter('counter >', 42) 
query.filter('created <', datetime(2011,12,21)) 
query.filter('created >', datetime(2011,12,19)) 
query.filter('myflag =', true) 
関連する問題