[問題] GAE 抓取資料庫問題

看板Python作者 (JimmyG)時間14年前 (2011/03/26 21:21), 編輯推噓2(209)
留言11則, 3人參與, 最新討論串1/1
我的資料庫當中有如下資料表 Kind: Link link: http//www.google.com name: Google 皆以字串存入 使用以下程式碼做抓取 readLink = db.GqlQuery("SELECT * FROM Link WHERE name = 'Google'") 不過抓出來的 readLink 為空的... 想請問為什麼會這樣呢? 我把 db.GqlQuery 貼到 Dashboard 當中是可以正確叫出資料表的 另外如果程式碼多一行 link = readLink.link 這樣也會出現錯誤訊息: AttributeError: 'GqlQuery' object has no attribute 'link' 不過我的資料表中不是明明有 link 這個 attribute 嗎... 想請問為什麼會產生以上的問題呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.239.44

03/26 22:08, , 1F
是不是因為GqlQuery回傳的是list所以要用readlink[0].link?
03/26 22:08, 1F

03/26 22:34, , 2F
應該不是,因為官方文件沒有用[0] 來抓資料,如果用會
03/26 22:34, 2F

03/26 22:34, , 3F
出現錯誤 IndexError('The query returned fewer than
03/26 22:34, 3F

03/26 22:35, , 4F
%d results' % (arg+1))
03/26 22:35, 4F

03/26 22:59, , 5F
出現IndexError應該是因為傳回來的list是空的,不過我還看
03/26 22:59, 5F

03/26 22:59, , 6F
不出來為什麼抓不到東西回來
03/26 22:59, 6F

03/26 23:17, , 7F
嗯,我也很納悶因為kind 裡面明明就有東西..
03/26 23:17, 7F

03/26 23:28, , 8F
回傳的是GqlQuery的object,必須用for loop或fetch(1)取出
03/26 23:28, 8F

03/26 23:52, , 9F
試試看,順便問一下為什麼我的 fetch都一定要兩個參數?
03/26 23:52, 9F

03/26 23:58, , 10F
不過我加上了 .fetch(1) 之後收到的是空的 list
03/26 23:58, 10F

03/27 00:02, , 11F
使用 for loop 抓到了 感謝
03/27 00:02, 11F
文章代碼(AID): #1DZUXEEy (Python)
文章代碼(AID): #1DZUXEEy (Python)