我正在发送一个字典作为django中的模型字段,并希望保存它们运行for
循环,如下所示:
for key in dictionary:
object.key = dictionary[key]
object.save()
这里,键是模型字段的确切名称,但它没有被保存。
例如,如果其中一个键为about
,则会尝试将值保存在object.key
而不是object.about
。
我做错了什么? 如何运行for
循环以便将值保存在对象中?
答案 0 :(得分:4)
您可以通过将其属性作为kwargs传递给构造函数来实例化Django模型,例如:
model = Model(attr1=value1, attr2=value2)
这意味着你可以根据你的字典实例化一个模型:
model = Model(**dictionary)
答案 1 :(得分:1)
您未正确设置对象的值。您可以使用setattr
将字典中的值设置为相应的对象属性
for key in dictionary:
setattr(object, key, dictionary[key])
object.save()
在对象中设置了所有属性后,应调用 save