作者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