Для этого вы можете использовать функцию setattr , как указано в документах .
'setattr' является аналогом getattr (). Аргументами являются объект, строка и произвольное значение. Строка может называть существующий атрибут или новый атрибут.
Таким образом, вместо проверки значения переданного поля, вы можете сделать:
yandex_response_record, created = YandexResponse.objects.get_or_create(id=1)
setattr(yandex_response_record, what_to_update, json.dumps(data))
yandex_response_record.save()
Он обновляет имя поля, указанное в what_to_update
, как указано в json.dumps(data)
.
Может быть, это будет полезно для вас.