2012-04-03 4 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

관련 문제