У меня возникла критическая проблема с моим хранилищем данных App Engine, и, похоже, он полностью невосприимчив к отладке: Я не могу изменять объекты после их создания.
Проблема даже присутствует при работе с консоли, определенной в app.yaml, которая не делится никаким кодом с моим основным приложением. Вот пример из консоли:
>>> foo = Topic(name='bar')
>>> foo.name
'bar'
>>> foo.name = 'foo'
>>> foo.name
'bar'
Такое же поведение влияет на все виды сущностей и все свойства в приложении. Сохранение объекта не имеет значения.
Я пытался вернуться к оборотам дней, недель и месяцев назад, и проблема все еще присутствует, хотя я определенно заметил бы это, если бы это было на самом деле недели и месяцы назад, так как оно ломает приложение логика. Он присутствует на разных машинах под управлением Ubuntu и OSX, а также на всех версиях приложений в рабочей среде и присутствует как минимум в одном другом приложении, которое я тестировал. Он все еще присутствует после очистки моего хранилища данных SDK, использования другого порта, очистки моего кэша памяти и очереди задач, переустановки SDK и всех других приемов отладки, о которых я могу подумать в отчаянии.
Единственное место, которое не затронуто, это консоль администрирования. Та же самая последовательность кода получает ожидаемый результат модифицированного объекта. Даже после того, как я импортирую все модули или классы, о которых я могу думать, это может вызвать проблемы, консоль все равно всегда работает как положено. Еще один признак того, что в моем коде нет ничего, что могло бы вызвать эту проблему (и что я не схожу с ума).
Я вполне уверен, что пару дней назад я мог изменять сущности из своего приложения так же, как и из консоли администратора. Ведь неизменяемые сущности не очень полезны.
Некоторые советы были бы очень, очень признательны. Боюсь, что эта проблема не позволит мне продолжить разработку, пока я не смогу ее исправить.