App Engine Entity для словаря

Каков хороший способ скопировать сущность движка приложения Google (на python) в объект словаря? Я использую объекты db.Expando. Все свойства являются расширенными свойствами.

Спасибо!

4 ответа

Решение

Наличие сущности под названием foo попробуйте с:

foo.__dict__

Попробуй это. Где "m" - это экземпляр Expando, который вы хотите превратить в словарь.

dict([(x,getattr(m,x)) for x in m.dynamic_properties()])

Это должно работать

from google.appengine.ext import db
db.to_dict(entity)

Новая версия клиентской библиотеки Google Cloud Python работает не так изящно. Так что это быстрое решение.

your_dict = {x: entity[x] for x in entity.keys()}

Помните, что строки передаются и возвращаются как Unicode, а не как basestring.;)

Принятый ответ должен быть:

{}.update(entity}
Другие вопросы по тегам