1. ホーム
  2. python

[解決済み] djangoのモデル作成時に辞書を渡すことはできますか?

2022-06-02 01:11:42

質問

これと似たようなことを list , dictionary または他の何か?

data_dict = {
    'title' : 'awesome title',
    'body' : 'great body of text',
}

Model.objects.create(data_dict)

拡張できればなお良し。

Model.objects.create(data_dict, extra='hello', extra2='world')

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

もし title であり body がモデル内のフィールドである場合 を指定すると、**演算子を使って辞書のキーワード引数を配信することができます。 .

あなたのモデルの名前が MyModel :

# create instance of model
m = MyModel(**data_dict)
# don't forget to save to database!
m.save()

2つ目の質問ですが、辞書は最終引数でなければなりません。もう一度言います。 extraextra2 はモデル内のフィールドでなければなりません。

m2 =MyModel(extra='hello', extra2='world', **data_dict)
m2.save()