Google App Engine: сохранение списка объектов? - PullRequest
1 голос
/ 20 августа 2009

Мне нужно сохранить в моей модели список объектов определенного класса в хранилище данных.

Есть ли какой-нибудь простой способ заархивировать его с помощью ListProperty и пользовательских свойств, не вдаваясь в данные маринованных / простых файлов BLOB-объектов?

Я просто хочу что-то вроде этого:

class Test:
     pass

class model(db.Model):
     list = db.ListProperty(Test)

Глядя на документацию GAE, я не могу точно сказать, невозможно ли это с текущей версией или нет.

Я пытался избежать засолки, потому что он медленный и имеет ограничения по размеру.

Ответы [ 3 ]

1 голос
/ 20 августа 2009

Вы можете хранить только ограниченный набор типов непосредственно в хранилище данных. Чтобы хранить ваши собственные типы, вам нужно каким-то образом преобразовать их в один из принятых типов - выборка является одним из распространенных подходов, так же как и сериализация в JSON.

Ограничение размера не является уникальным для травления - 1 МБ - это самый большой объект, который можно вставить независимо от полей и типов.

0 голосов
/ 18 сентября 2009

Вы можете иметь список ключей или вы могли бы дать сущностям 'Test' родительский объект, который является сущностью вашего класса 'model'

0 голосов
/ 20 августа 2009

Вы можете сохранить ваши тестовые объекты в хранилище данных напрямую, создав тестовую модель / тип сущности. В противном случае вам придется как-то их сериализовать (используя что-то вроде pickle или json)

...