Допустим, у меня есть такая модель
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 или откуда угодно.