Django Присвоение json объекту модели
У меня есть такая функция:
# create a function to upload an object one to one given a json
def upload_object_values(model, json_values):
if json_values:
# the json values contain key value that match to the model
# use a copy to avoid runtime error dictionary changing size
for json_value in json_values.copy():
# remove all ids in model copy
if json_value[-3:] == '_id' or json_value == 'id':
json_values.pop(json_value)
# copy the object values only
# TODO: ASSIGN json_values to the model object
# save
# model.save()
пример json_values:
{'id': 1, 'notes': 'hello', 'name': 'world', 'phone': None, 'foreign_id': 2}
Пример очищенных значений json_values (удалены id и внешние ключи):
{'notes': 'hello', 'name': 'world', 'phone': None}
Как мне присвоить эти значения модели, которая у меня есть, причем каждый ключ является полем с тем же именем в моей модели?
Это должно работать:
for key, value in json_values.items():
setattr(model, key, value)
model.save()