1

「標準」または文書化された方法を使用する代わりに、json-dataを使用してファイルを読み取り、loads(data)simplejsonメソッドを使用して抽出し、レコード内の各列の値を表すディクショナリを作成しようとしています。

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

レコードごとにdjangoormオブジェクトを作成することは避けたいので、各オブジェクトを表すディクショナリが必要です。これにより、プレーンSQLを使用してデータベースに挿入し、速度を上げることができます。問題は、loads(data)がすべてのデータをメモリに読み込む必要があることです。これを避けて、メモリ使用量を低く抑え、json-dataのエントリのエントリを読み取ります。1つのレコードのデータを生成するイテレータを取得することは可能ですか?次に、jsonデータを逆シリアル化するときに、django ormオブジェクトの作成全体をスキップして、値のディクショナリを取得できますか?

入力と考えは大歓迎です。

御時間ありがとうございます。

4

1 に答える 1

1

ORM オブジェクトを作成したくない場合は、Django の逆シリアル化メソッドを使用しても意味がありません。simplejson基礎となるライブラリを使用して JSON をロードするだけです。

from django.utils import simplejson
my_data = simplejson.loads(data)
于 2011-02-24T08:31:43.090 に答える