Я ударился головой о стену, потому что мой проект Python в Google App Engine имеет очень простой запрос проекции NDB, который отлично работает на моей локальной машине, но таинственным образом завершается неудачей при развертывании в производство.
Добавление к загадке ... в качестве теста я добавил идентичную проекцию для другого свойства, и оно работает как для разработчиков, так и для производства!Кто-нибудь может помочь, пожалуйста ?!Вот более подробная информация:
У меня есть следующая сущность, представляющая расходы:
class Entry(ndb.Model):
datetime = ndb.DateTimeProperty(indexed=True, required=True)
amount = ndb.IntegerProperty(indexed=False, required=True)
payee = ndb.StringProperty(indexed=True, required=True)
comment = ndb.StringProperty(indexed=False)
# ...
Позже в коде я делаю проекцию на Entry.payee (чтобы получить списоквсе получатели).В качестве теста я также добавил проекцию на Entry.datetime:
log_msg = '' # For passing debug info to the browser
payeeObjects = Entry.query(ancestor=exp_traq_key(exp_traq_name), projection=[Entry.payee]).fetch()
payees = []
for obj in payeeObjects:
payees.append(obj.payee)
log_msg += '%d payees: %s' % (len(payees), str(payees))
log_msg += ' ------------------- ' # a visual separator
dtObjects = Entry.query(ancestor=exp_traq_key(exp_traq_name), projection=[Entry.datetime]).fetch()
dts = []
for obj in dtObjects:
dts.append(obj.datetime)
log_msg += '%d datetimes: %s' % (len(dts), str(dts))
#...other code, including passing log_msg down to the client
Вот вывод в среде разработчика (обратите внимание, что список получателей и список времени отображаются в консоли):
![enter image description here](https://i.stack.imgur.com/31dT3.png)
А вот вывод при развертывании в ядре приложения.Я не могу вернуть список получателей.Он возвращает пустой список, хотя в dev он возвращает список нормально:
![enter image description here](https://i.stack.imgur.com/2H6Va.png)
Я убедился, что индексы настроены правильноGAE:
![enter image description here](https://i.stack.imgur.com/TpPn9.png)
Пожалуйста, помогите!
2018-12-05 Обновление : я добавилеще пара записей в производстве, и их забрали!Смотрите скриншот.Но старые записи по-прежнему не возвращаются.![enter image description here](https://i.stack.imgur.com/P5oK8.png)
Моя немедленная реакция заключается в том, что индекс хранилища данных нужно как-то «обновить», чтобы он мог «видеть» старые записи.НО дело в том, что я вчера удалил и заново создал индекс, а это значит, что в нем должны быть старые записи ... Так что все равно нужна помощь в разгадке этой загадки!