【发布时间】:2010-09-17 17:57:25
【问题描述】:
假设我有一个这样的模型
class Foo(db.Model):
id = db.StringProperty()
bar = db.StringProperty()
baz = db.StringProperty()
我要像这样进行 GqlQuery
foos = db.GqlQuery("SELECT * FROM Foo")
我想将 GqlQuery 的结果转换成某种 JSON 字符串,我可以使用不同的语言对其进行操作。
这就是我现在的做法
-
向 Foo 类添加一个将其转换为字典的方法
def toDict(self): return { 'id': self.id, 'bar': self.bar, 'baz': self'baz } -
遍历 GqlQuery 结果并手动将每个 Foo 实例添加到字典中
fooDict = {} for foo in foos: fooDict[foo.id] = foo.toDict() return simplejson.dumps(fooDict)
我上面的方法有效,但感觉有点恶心。
有没有更简洁、更“Pythonic”的方式来处理这个问题?
结束格式不必完全是我上面所做的。它必须是可以很好地转换为 JSON 的东西,这样我就可以从 Javascript/PHP/whatever 处理它。
【问题讨论】:
-
我希望我在一个类似的问题上回答得很好 - see here。
标签: python google-app-engine gqlquery