У меня проблемы с индексами индекса приложений Google. При запуске моего приложения через приложение GoogleAppEngineLauncher приложение работает нормально. При развертывании приложения, я получаю следующее сообщение об ошибке:Ошибка Google App Engine: NeedIndexError: не найдено ни одного совпадающего индекса
NeedIndexError: no matching index found.
The suggested index for this query is:
- kind: Bar
ancestor: yes
properties:
- name: rating
direction: desc
Ошибка генерируется после этой строки кода:
bars = bar_query.fetch(10)
Перед выше строки кода, он читает:
bar_query = Bar.query(ancestor=guestbook_key(guestbook_name)).order(-Bar.rating)
В файле index.yaml содержится точный «предложенный» индекс ниже # АВТОРИЗАЦИЯ:
- kind: Bar
ancestor: yes
properties:
- name: rating
direction: desc
Возможно, мне что-то не хватает? Я удалил файл index.yaml и снова развернул приложение (через командную строку), и один файл был загружен, поэтому файл index.yaml существует.
Все работает нормально на месте. Я работаю над последним Mac OSx. Команда, используемая для развертывания был:
appcfg.py -A app-name --oauth2 update app
хранилищу я реализовал свободно на основе приложения гостевой книги учебник.
Любая помощь была бы принята с благодарностью.
EDIT:
Мой ndb.Model определяются следующим образом:
class Bar(ndb.Model):
content = ndb.StringProperty(indexed=False)
lat = ndb.FloatProperty(indexed=False)
lon = ndb.FloatProperty(indexed=False)
rating = ndb.IntegerProperty(indexed=True)
url = ndb.TextProperty(indexed=False)
Hi @Andrei, спасибо, я был там. В нем говорится: «Вы не создали индексы для этого приложения. Некоторые типы запросов требуют создания индекса. Вы можете управлять своими индексами в файле index.yaml». На других форумах я читал, что при использовании index.yaml он никогда не говорит «обслуживать». – ISJ
Я где-то читал: «Индекс, который вы указали в свой файл datastore-index.xml, является единственным индексом свойств. Это означает, что он автоматически создается Datastore и не будет отображаться в вашей консоли». – ISJ
Вы правы - индексы единичного имущества не обязательно должны быть определены, и они не будут отображаться на индексной странице. Я забыл спросить очевидное: это свойство индексировано? –