一尘不染

字典可以在创建时传递给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')

阅读 369

收藏
2020-04-03

共1个答案

一尘不染

如果titlebody是模型中的字段,则可以使用**运算符将关键字参数传递到字典中。

假设你的模型称为MyModel:

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

至于第二个问题,字典必须是最后一个参数。同样,extra并且extra2应该是模型中的字段。

m2 =MyModel(extra='hello', extra2='world', **data_dict)
m2.save()
2020-04-03