私は Django bulk_create とその「欠陥」のいくつかを読んでいました:
"
This has a number of caveats though:
1. The model's save() method will not be called, and the pre_save and post_save signals will not be sent.
2. It does not work with child models in a multi-table inheritance scenario.
3. If the model's primary key is an AutoField it does not retrieve and set the primary key attribute, as save() does.
"
私はそれを完全には理解していませんでした。オブジェクトのリストがある場合は、それを bulk_create に渡します。
objList = [a, b, c,] #none are saved
model.objects.bulk_create(objList)
これらのオブジェクトを外部キーで引き続き使用できますか?
for obj in objList:
o = otherModel(something='asdfasdf', fkey=obj)
o.save() # will this be fine given the caveats stated above?
では、foreignKey 関係は大丈夫でしょうか? また、2. マルチテーブル継承シナリオでは子モデルでは機能しません。これは、別のモデル (抽象的であるかどうかに関係なく) から継承するモデルは、bulk_create を使用できないことを意味します。