#python #google-app-engine #pickle
#python #google-app-engine #маринованный файл
Вопрос:
В Google Appengine меня интересует маринование объекта и сохранение его в хранилище данных. Мне не нужно его индексировать.
Есть ли какая-либо разница, сохраню ли я его как свойство BlobProperty или TextProperty? Какой из них лучше?
Ответ №1:
BlobProperty может хранить двоичные данные, в то время как TextProperty может хранить только строки.
Вы можете использовать BlobProperty, поскольку TextProperty в основном является BlobProperty с кодировкой.
Ответ №2:
NDB теперь предлагает : PickleProperty
.
Значение — это объект Python (такой как список, или dict, или строка), который сериализуем с использованием протокола pickle Python; хранилище данных хранит сериализацию pickle в виде большого двоичного объекта. По умолчанию неиндексирован.
Необязательный аргумент ключевого слова:
compressed
.
Ответ №3:
Неважно. Я только что запустил тесты с обоими. Похоже, что вы не можете использовать TextProperty с pickle. Это приведет к ошибкам. С другой стороны, его использование с BlobProperty работает отлично.