作者jimmylin212 (JimmyG)
看板Python
標題[問題] GAE 抓取資料庫問題
時間Sat Mar 26 21:21:16 2011
我的資料庫當中有如下資料表
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
1F:推 BCLin:是不是因為GqlQuery回傳的是list所以要用readlink[0].link? 03/26 22:08
2F:→ jimmylin212:應該不是,因為官方文件沒有用[0] 來抓資料,如果用會 03/26 22:34
3F:→ jimmylin212:出現錯誤 IndexError('The query returned fewer than 03/26 22:34
4F:→ jimmylin212:%d results' % (arg+1)) 03/26 22:35
5F:→ BCLin:出現IndexError應該是因為傳回來的list是空的,不過我還看 03/26 22:59
6F:→ BCLin:不出來為什麼抓不到東西回來 03/26 22:59
7F:→ jimmylin212:嗯,我也很納悶因為kind 裡面明明就有東西.. 03/26 23:17
8F:推 Falldog:回傳的是GqlQuery的object,必須用for loop或fetch(1)取出 03/26 23:28
9F:→ jimmylin212:試試看,順便問一下為什麼我的 fetch都一定要兩個參數? 03/26 23:52
10F:→ jimmylin212:不過我加上了 .fetch(1) 之後收到的是空的 list 03/26 23:58
11F:→ jimmylin212:使用 for loop 抓到了 感謝 03/27 00:02