2012-04-03 11 views

答えて

3

、あなたはmake use of a bulk_create方法は、バルク、その後、それらを作成するために、彼らに(all at once)を追加し、そうBオブジェクトのリストを作成し、その後、一度に多数Bオブジェクトを作成アブManyToMany

にそれらを追加することができますあなたAインスタンス(複数可)のManyToMany関係:あなたはスルーモデルを避けたい/必要がある理由

l = [ 
    B(...), 
    B(...), 
    B(...), 
    ... 
] 
B.objects.bulk_create(l) 
a.b.add(*o) 
+0

'a.b.add(o)'をより効率的にする方法はありますか? djangoは、リスト内のエントリを繰り返し処理することで、すべてのインスタンスの挿入を送信します。 – Martin

+1

私は答えを更新しました。あなたは一度にオブジェクトのアンパックリストを追加することができますが、私はまだそれぞれのDB呼び出しを行うと思います –

+0

"with transaction.atomic():"(django.dbインポートトランザクションから) – Bob

関連する問題