Я столкнулся с странным случаем в среде разработки App Engine.ndb query возвращает старое значение свойства
Существо, которое было обновлено должным образом. Я смог увидеть обновленное значение в средстве просмотра хранилища данных. Был также запрос, который получил тот же объект в запросе. В результате появилась сущность, но она имела старое значение свойства. Я смог исправить проблему, очистив memcache. Запрос выполнялся непосредственно в хранилище данных, а не возвращался из memcache. Курсор инициализируется значением None
announcements, cursor, more = query.fetch_page(
msg.valid_data.get('limit') or 40, start_cursor=cursor)
Есть ли случаи, когда прямой запрос может возвращать результаты из memcache? Нет ничего об этом в ndb caching documentation
Не может быть связано с курсорами?
Я думал, что возможная согласованность может повлиять только на то, какие объекты появляются в результате, а не на их содержимое. –
Нет, совсем нет. Если вы внесете изменения в существующий объект, выполните запрос, вполне возможно вернуть прежнюю версию этого объекта. –
Спасибо. теперь я понимаю –