我想打印出一个查询对象的结构,类似于您可以在交互式Python提示符处打印字典或列表的内容。我发现我很难想象数据结构是什么样子,这当然会让模板参数传递更难。如何显示GAE查询对象的内容和结构?
例如,这里是一个非常简单的UserProfile db类,而我试图打印出所有配置文件以及第二个配置文件的内容。
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.api import users
from google.appengine.ext.webapp.util import run_wsgi_app
class UserProfile(db.Model):
user = db.UserProperty(auto_current_user_add=True)
name = db.StringProperty()
class TestHandlerBasic(webapp.RequestHandler):
def get(self):
profiles = UserProfile.all()
self.response.out.write('The whole profiles: ')
self.response.out.write(profiles)
self.response.out.write('<p>')
self.response.out.write('Now, print out all profiles: <p>')
for profile in profiles:
self.response.out.write(profile.user)
self.response.out.write('<br>')
self.response.out.write('<p>')
self.response.out.write('There are this many profiles: ')
self.response.out.write(profiles.count())
self.response.out.write('<p>This is the second profile profiles[1]: ')
self.response.out.write(profiles[1])
return
application = webapp.WSGIApplication([(r'/testbasic', TestHandlerBasic),] debug=True)
我得到这样的输出:
整体概况:
现在,打印出的所有模式:
[email protected]
ARD @例子。 com有这么多配置文件:2
这是第二个轮廓曲线[1]:
第一线,我得到<google.appengine.ext.db.Query object at 0x490bd10>
最后一行我得到<models.UserProfile object at 0x490bb90>
后,也是如此。那么,如何打印Query对象或模型对象的转储?
我正在通过克里斯的'BaseModel'参考,看看我可以如何合并到我所做的。另外,http://svn.assembla.com/svn/swewi_javaprograms/swenglish/swewi/common/appenginepatch/appenginepatcher/patch.py有一些猴子补丁和一个'__repr__'我需要翻阅的例子。 – 2011-03-23 22:35:03