Десериализовать django json data dump одну запись за раз? - PullRequest
1 голос
/ 24 февраля 2011

Я пытаюсь прочитать файл с помощью json-data, использую метод simplejson load (data) и извлекать создать словарь, представляющий значения для каждого столбца в записи, вместо использования «стандартного» или документированного способа:

for obj in serializers.deserialize("json", data):
    # do something with obj

потому что я хочу избежать создания объектов django orm для каждой записи, я просто хочу словарь, представляющий каждый объект, чтобы я мог вставить его в базу данных, используя простой SQL для увеличения скорости.Проблема в том, что load (data) необходимо прочитать все данные в память, и я хочу избежать этого, чтобы сохранить низкое использование памяти и прочитать запись для ввода в json-data.Можно ли получить итератор, который выдает данные для одной записи?А во-вторых, могу ли я пропустить все создание объектов django orm при десериализации данных json и просто получить словарь значений?

Ввод и мысли приветствуются.

Спасибо за ваше время.

1 Ответ

1 голос
/ 24 февраля 2011

Если вы не хотите создавать объекты ORM, нет смысла использовать методы десериализации Django.Просто загрузите JSON, используя базовую библиотеку simplejson:

from django.utils import simplejson
my_data = simplejson.loads(data)
...