【发布时间】:2013-12-21 04:23:36
【问题描述】:
我正在将页面的内容解析为 JSON,并且我通过浏览查询后返回的数据存储对象的每个帖子来完成此操作。但是我的循环在返回值之前只经过一次迭代。
代码如下:
self.response.headers['Content-Type'] = 'application/json'
#Getting all the entries of the page
posts = db.GqlQuery("SELECT * FROM Blog ORDER BY time_created DESC")
logging.info("Number of posts=" + str(posts.count()) )
#Looping through them all to get the JSON text
for post in posts:
json_data = {
'post' : {
'subject': post.subject,
'content': post.blog,
'day' : post.day_created.strftime('%d %b %Y')
}
}
json_text = json.dumps(json_data)
self.write('{"allposts":'+json_text+'}')
正如您所见,循环应该遍历所有帖子,我添加了一个日志行来检查对象中的帖子数量并返回当前帖子的数量。
输入将是一个数据存储对象:<google.appengine.ext.db.GqlQuery object at 0x0427FD90>
这包含 3 个实体:subject、blog 和 day_created
这个函数的输出应该是一个 JSON 对象,其中的帖子是这样排序的:
{
'allposts:'
{'post1':
{
'subject' : ' ... ',
'content': ' ... ' ,
'day' : ' .. '
}
,
....
,
'postn' :
{
....
}
}
【问题讨论】:
标签: python google-app-engine google-cloud-datastore gql