Я новичок в Datastore, и у меня возникла проблема с индексацией, и я надеюсь, что вы сможете мне помочь. Я использую модель google.cloud.nbd под названием «Программа» и хочу убедиться, что contact_email не имеет значения null, а значение свойстваclaimer_digest_email_ Frequency находится в списке значений. Этот код Python выглядит следующим образом:
Код: Выделить всё
matching_programs_keys = Program.query(
Program.contact_email != None,
Program.claimer_digest_email_frequency.IN(possible_values),
).fetch(keys_only=True)
Несмотря на то, что я проиндексировал наши свойства в проекте, который использую, я все равно сталкиваюсь с ошибкой индексации. Есть предположения? Правильно ли я создал индекс для этого запроса? Что-то еще идет не так?
Индекс в пользовательском интерфейсе Google Cloud Datastore
Обнаружена ошибка
Изменить: спасибо DazWilkin.
В файле index.yaml сказано
Код: Выделить всё
- kind: Program
properties:
- name: contact_email
- name: claimer_digest_email_frequency
Когда это должно было быть:
Код: Выделить всё
- kind: Program
properties:
- name: claimer_digest_email_frequency
- name: contact_email
Оказывается, порядок имеет значение. Проверьте сообщение об ошибке, чтобы узнать, в каком именно порядке необходимо выполнить этот запрос.
Подробнее здесь:
https://stackoverflow.com/questions/787 ... -datastore