Документы говорят, что model_to_protobuf
хочет экземпляр Model
, и, если ваш объект уже является Model
, вы также можете сделать ReferenceProperty
, указывающий непосредственно на этот объект.Я бы порекомендовал вам первый сравнительный анализ с прилично реалистичными данными, чтобы точно узнать, каково медленное травление / расслоение.Это может быть не слишком медленно, но, возможно, было бы хорошо знать, что перед принятием исправлений, требующих интенсивной работы, преждевременная оптимизация - это зло и все такое (как вы, вероятно, знаете ...).
Но если это действительно медленно, я бы посоветовал вам попытаться смоделировать объекты, которые нуждаются в сериализации, в менее способном формате (и, следовательно, возможно, быстрее), например JSON
(что было бы практично, поскольку у вас уже есть JSON
присутствуют возможности в движке приложения (импортируйте его как django.utils.simplejson
).
Если возможно сериализовать объекты как Model
экземпляры, я предлагаю вам сделать это. Если вы не знаете все атрибуты до времени выполнения,всегда есть Expando
моделей.