私は日付順のデータストア上のクエリを実行しようとすると、私は次のエラーを取得:私は日までにご注文しようとしていない場合GAEデータストアをクエリするときにインデックスエラーを修正する方法はありますか?
NeedIndexError: no matching index found.
The suggested index for this query is:
- kind: Message
properties:
- name: author
- name: ref
- name: date
をクエリがエラーなしで実行されます。 App Storeコンソールのデータストアインデックスには、
author ▲ , ref ▲ , date ▼
Serving
私は間違っていますか?クエリを日付順に実行するにはどうすればよいですか?ありがとう!ここで
が私のエンティティ定義である:
from google.appengine.ext import ndb
class Message(ndb.Model):
subject = ndb.StringProperty()
body = ndb.TextProperty()
date = ndb.DateTimeProperty(auto_now_add=True)
ref = ndb.StringProperty(required=True)
author = ndb.KeyProperty(required=True)
、これは失敗したクエリです:
def readMessages(ref, user = None):
query = Message.query()
query = query.filter(Message.ref == ref)
if user:
query = query.filter(Message.author == user.key)
query = query.order(Message.date)
# convert to a list so we can index like an array
return [ message for message in query ]
私のindex.yamlは含まれています:あなたが指定する必要が
indexes:
- kind: Message
properties:
- name: author
- name: ref
- name: date
direction: desc
ありがとうございました。実際、私はインデックス定義の最後の行をコピーするのを忘れていました。アプリエンジンコンソールには、索引が作成されたことが示されます。▲、著者▲、日付▼だから私はこれが私の問題だとは思わないが、質問のインデックス定義を更新した。 – deltanine