実行しようとしているいくつかのクエリに奇妙な問題があります。
クエリから結果のタプルを返すメソッドを作成しました-
def get_activeproducts():
query = Product.gql("WHERE active = True")
choices = []
for obj in query:
choices.append((str(obj.key()), obj.name))
return choices
問題は、結果は各呼び出しで同じであるということです。商品属性「active」で商品が削除または「False」に変更された場合でも。結果は、SDKサーバーを再起動したときにのみ更新されます。本番環境では、バージョンを変更するまで変更されません。
クエリプロパティがBooleanPropertyであるもう1つのクエリで同様の問題が発生しました。
これをどのように修正できるかについてのアイデアはありますか?
編集:私はtipfyアプリケーションでメソッドを使用しています。wtformsの選択フィールドに入力するために使用されます。'choices'は基本的に、タプル(値、名前)のペアのリストを取ります。
class InvoiceForm(Form):
product = SelectField('Product', choices=get_activeproducts())
編集に問題はありません。管理者側から確認すると、特定の製品が「False」に設定されていることがわかります。また、製品のリスト全体を空(削除)にしても、最初に取得したのと同じリストを取得します。
アプリケーションのどこでもキャッシュを使用していません。