Ответ 1
Механизм приложений хранит каждый объект как protobuf. Вы можете использовать функцию db.model_to_protobuf()
, описанную здесь, чтобы вручную преобразовать ваш объект в protobuf, а затем использовать стандартный метод len()
для определения его размера в байтах.
Пример использования:
from google.appengine.ext import db
sz_in_bytes = len(db.model_to_protobuf(some_entity).Encode())
Обновление для ndb
Kekito указывает в комментариях ниже, что для сторон ndb
необходим другой подход (спасибо Kekito!):
len(some_entity._to_pb().Encode())