Я думаю Я также видел эту ошибку в мои первые дни GAE, когда я все время модифицировал модели сущностей, я гораздо более неохотно делаю это сейчас, так как знаю, что такие изменениянужна дополнительная осторожность и почти всегда стратегия миграции.
Я получил ее после того, как добавил параметр required=True
в свойство модели.Опция вызывает ошибку, если вы пытаетесь установить put
am сущность без установленного свойства, очевидно.Но это также вызывает ошибку при попытке получить сущность put
в хранилище данных без заданного свойства до того, как опция была включена в модели.Это то, что я подозреваю, может происходить.Обратите внимание, что эта проверка относится только к ndb
, поэтому она повлияет на код вашего приложения, но не на средство просмотра консоли или приложения, использующие другие клиентские библиотеки.
Просмотрите все объекты такого рода в Entitymenu , проверка которого не имеет установленного свойства.
Попробуйте включить отладку для вашего приложения (путем передачи debug=True
в вызове webapp2.WSGIApplication()
вашего приложения), который должен показать трассировку, прикрепленную к соответствующему журналу запросов.Было бы полезно выяснить, где именно произошла ошибка.
Дубликаты, выделенные вами на изображении Dashboard, могут быть красными сельдями - в моих приложениях я также вижу похожие, без побочных эффектов (или, по крайней мере, с теми, которые я заметил).
IЯ не уверен, что некоторые из них не являются побочными эффектами различных изменений, которые я сделал вовремя для моделей сущностей, в частности переключение параметра indexed
для некоторых свойств.
Но я почти уверенСтроковые / текстовые просто вызваны тем, что свойства хранилища данных Текстовая строка индексируются, только если значение имеет менее 1500 байтов (то есть то, что считается различными типами свойств в ndb
- TextProperty
и StringProperty
).
Также обратите внимание, что индексы 0B
являются нормальными для свойств, которые не индексируются, см., Например, ваше свойство description
.