我想提前說我是python的新手,並且是python平臺的GAE。我一直在尋找這個非常奇怪的錯誤/錯誤,當我試圖讓一個實體使用它的密鑰ID ... 這是我做的,谷歌應用程序引擎中的奇怪錯誤
我正在查詢數據存儲實體模型UserDetails的用戶對應的密鑰名稱從UI中檢索。
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)
訪問帳戶的屬性,我得到一個錯誤。考慮到帳戶實際上是一個列表,我嘗試使用accounts[0]
獲得第一個元素,現在我得到list out of bound error
。
當我嘗試硬編碼src_key值時,它工作得很好,但是,當我將值傳遞給同一個方法時,我得到這些錯誤。我不明白爲什麼GAE在生產環境和開發環境中表現如此。我是否缺少關於此行爲的一些信息?
編輯:將堆棧跟蹤,
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'
我們需要完整的堆棧跟蹤。您展示的例外情況不會發生在您粘貼的代碼中。 – 2009-11-11 10:16:08
按要求添加堆棧跟蹤。 – Arun 2009-11-11 10:20:47