Я хотел бы упомянуть перед собой, что я новичок в python и с этим для платформы Python GAE. Я обнаружил эту очень странную ошибку/ошибку, когда пытаюсь получить сущность, используя ее идентификатор ключа ... Вот что я делаю,Странная ошибка в движке google
Я запрашиваю модель объекта хранилища UserDetails для ключа, соответствующего пользователю имя, полученное из пользовательского интерфейса.
src_key_str = db.GqlQuery('SELECT __key__ FROM UserDetails WHERE user_name = :uname', uname = src_username).fetch(1)
for itr1 in src_key_str:
src_key = itr1.id_or_name()
Затем с помощью src_key
получается я стараюсь, чтобы получить объект, соответствующий тем же самым.
accounts = UserDetails.get_by_id(src_key)
Теперь здесь, когда я пытаюсь получить доступ к свойствам счетов с помощью self.response.out.write(accounts.user_name)
, я получаю сообщение об ошибке AttributeError: 'list' object has no attribute 'user_name'
. Думая, что учетные записи были фактически списком, я попытался получить первый элемент, используя accounts[0]
Теперь я получаю list out of bound error
.
Когда я пытаюсь жестко кодировать значение src_key, он работает нормально, но когда передаю значение одному методу, я получаю эти ошибки. Я не понимаю, почему GAE ведет себя так в производственной среде и среде разработки. Мне не хватает информации об этом поведении?
EDIT: добавление трассировки стека,
Traceback (most recent call last):
File "/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 507, in __call__
handler.get(*groups)
File "/base/data/home/apps/bulkloader160by2/1-5.337673425692960489/new_main.py", line 93, in get
self.response.out.write(accounts.user_name)
AttributeError: 'list' object has no attribute 'user_name'
Нам нужна полная трассировка стека. Исключение, которое вы показываете, не может произойти в коде, который вы вставили. –
Добавлена трассировка стека в соответствии с запросом. – Arun