1. ホーム
  2. django

[解決済み] djangoでモデルオブジェクトを一括作成する

2022-03-06 01:25:13

質問

データベースに保存するオブジェクトがたくさんあるので、それを使ってモデルインスタンスを作りたいのです。

django では、すべてのモデルのインスタンスを作成することができます。 MyModel(data) そして、それらをすべて保存したいのです。

現状では、そのようなものがあります。

for item in items:
    object = MyModel(name=item.name)
    object.save()

オブジェクトのリストを直接保存することはできないのでしょうか?

objects = []
for item in items:
    objects.append(MyModel(name=item.name))
objects.save_all()

すべてのオブジェクトを1つのトランザクションで保存するには?

どのように解決するのですか?

django の開発時点では、以下のものが存在します。 bulk_create オブジェクトマネージャーメソッドとして、クラスのコンストラクタで作成されたオブジェクトの配列を入力として受け取ります。