假设我有一个这样的模型
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 处理它。