驚いたことに、問題なく多くのクエリを実行した後。私は最初の奇妙なGQLの問題に遭遇しました。
フィードバックと呼ばれるモデルのプロパティは次のとおりです。
content date title type votes_count written_by
以下はindex.yamlで設定されています:
- kind: Feedback
properties:
- name: type
- name: date
direction: desc
日付でソートされたすべてのフィードバックデータを照会すると、すべての結果が返されます。
query = GqlQuery("SELECT __key__ FROM Feedback ORDER BY date DESC")
typeプロパティはtype=db.IntegerProperty(default = 1、required = False、indexed = True)に格納され、整数1のタイプのフィードバックデータが8行あります。
しかし、私が質問したとき:
query = GqlQuery("SELECT __key__ FROM Feedback WHERE type = :1 ORDER BY date DESC", type)
それは私に空の結果を返し続けました。何がうまくいかなかったのですか?
アップデート
def get_keys_by_feedback_type(type_type):
if type_type == FeedbackCode.ALL:
query = GqlQuery("SELECT __key__ FROM Feedback ORDER BY date DESC")
else:
query = GqlQuery("SELECT __key__ FROM Feedback WHERE type = :1 ORDER BY date DESC", type_type)
return query
results = Feedback.get_keys_by_feedback_type(int(feedback_type_filter))
for feedback_key in results:
# iterate the query results
インデックスは次のように機能しています。
Feedback
type ▲ , date ▼ Serving