2012-03-14 126 views
-4

进出口新的GAE和python太,我尝试使用的数据存储在脚本如下GAE Python数据存储查询

from google.appengine.ext import db 
from google.appengine.ext import webapp 
from google.appengine.ext.webapp import util 

class Pincodes(db.Model): 
    city = db.StringProperty() 
    code = db.StringProperty() 

class MainHandler(webapp.RequestHandler): 
    def get(self): 
    q = Pincodes.all() 
    q = q.filter("city =", "some_city") 
    p = q.get() 
    r = 'city: %s code: %s' % (pincode.city, pincode.code) 
    self.response.out.write(r)  

我的剧本还含有常用的高清main()和if__name构建简单的应用程序,即时通讯发展它从code.google文档中显示简单的Hello World应用程序一步一步,它工作正常,我hav上传包含10条记录本地数据存储示范pincode数据和它的罚款,但我不能够查询和显示它在网页上我试图自我.response.out.write和输出是“city:code:”而不是“city:mumbai code:400001”我的脚本有什么问题

+1

*什么*显示?你如何做这个查询?你在运行什么代码?你在哪里运行它? – 2012-03-14 05:54:51

+0

它的示例应用程序即时创建开发应用程序服务器,即时通讯查询它与query.all和gql的方法,但它显示消息我上面提到,即时通讯运行的代码,我从演示评论的应用程序和我的gae sdk是1.6.1和python 2.5.4,即时通讯一个新的,所以你可以帮我写一个示例脚本,我可以使用。 – armani2811 2012-03-14 16:22:37

+0

不可以。您没有回覆我的评论。 **显示你的代码**。 – 2012-03-14 16:41:44

回答

1

use

entity = q.get() # use get if you want one entity only 
r = 'city: %s code: %s' %(entity.city, entity.code) 
self.response.out.write(r) 

,而不是打印

编辑:

def get(self): 
    q = Pincodes.all() 
    q = q.filter("city =", "some_city") 
    entity = q.get() # use get if you want one entity only 
    r = 'city: %s code: %s' %(entity.city, entity.code) 
    self.response.out.write(r) 

EDIT2:

def get(self): 
    q = Pincodes.all() 
    q = q.filter("city =", "some_city") 
    entity = q.get() # use get if you want one entity only 
    if not entity: 
     self.response.out.write('sorry no entities found') 
    else: 
     r = 'city: %s code: %s' %(entity.city, entity.code) 
     self.response.out.write(r) 
+0

尝试过你的答案,但它仍然无法正常工作,查询没有发生。 – armani2811 2012-03-21 06:12:36

+0

我编辑了我的答案。尝试复制粘贴代码,看看是否给你预期的结果 – aschmid00 2012-03-21 13:03:14

+0

现在它显示“AttributeError:'unicode'对象没有属性'has_key'”你有没有任何想法是什么意思? – armani2811 2012-03-23 04:37:33