作成時に辞書を Django モデルに渡すことはできますか? 質問する

作成時に辞書を Django モデルに渡すことはできますか? 質問する

listdictionaryまたは他の何かを使用して、これに似た操作を行うことは可能ですか?

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

Model.objects.create(data_dict)

拡張できればさらに良いです:

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

ベストアンサー1

titleとがbodyモデル内のフィールドである場合、**演算子を使用して辞書内のキーワード引数を渡すことができます。

モデルが次のように呼ばれていると仮定しますMyModel:

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

2 番目の質問に関しては、辞書は最後の引数である必要があります。繰り返しますが、extraモデルextra2内のフィールドである必要があります。

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

おすすめ記事