2011-09-28 72 views
4

我正在Google应用引擎中执行一个项目。 Python被用在后端。我有一个数据存储表“数据”与下面的属性,来自SELECT命令的值是对象

class Data(db.Model): 
    url = db.StringProperty 
    code = db.StringProperty 
    turl = db.StringProperty 

我用下面的代码从表中获取的所有值线,

x = Data.all() 
     x = db.GqlQuery("SELECT * FROM Data") 
     ourl = x.fetch(10) 

当我使用下面的代码打印出来,

for p in ourl: 
      print "%s %s, %s " % (p.url, p.code, p.turl) 

我得到以下信息10次,

<class 'google.appengine.ext.db.StringProperty'> <class 'google.appengine.ext.db.StringProperty'>, <class 'google.appengine.ext.db.StringProperty'> 

我无法得到url,code和turl的真实值。如何处理这些代码?

+0

定义除了萨希德的(正确的)响应您的属性 - 你的代码的前两行做同样的事情。删除其中的一个(您选择哪个)。 –

回答

1

在您的​​中,您忘记了创建属性实例的括号。

class Data(db.Model): 
    url = db.StringProperty() 
    code = db.StringProperty() 
    turl = db.StringProperty() 

目前你的类db.StringProperty简单地复制在你​​