このようなモデルがあるとしましょう
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などから処理できます。