Изменение значений атрибутов объекта модели django с помощью переменной [дубликат]
У меня есть эта модель :
class Project(models.Model):
name = models.CharField(max_length=200, verbose_name="project name", default="")
price = models.FloatField(verbose_name="Price", default=0)
description = models.TextField(verbose_name="Description du projet", blank=True, null=True)
state = models.CharField(max_length=7, choices=STATES, verbose_name="Statut", default='not started')
...a lot of other fields...
Если у меня есть этот объект :
name : "test_project"
price : 200
description : "this is a project"
state : "not started"
Я могу изменить любое значение следующим образом :
project.name = "new project"
project.price = 300
project.description = "new description"
project.state = "new state"
project.save()
Но я хочу знать, можно ли получить доступ к значениям атрибутов, заменив имена полей переменной (перебирая все поля)
Это может выглядеть примерно так:
new_values = ["new_name", 300, "new description", "new state"]
fields = ["name", "price", "descrition", "state"]
for i in range(len(new_values)):
project.{fields[i]} = new_values[i]
project.save()
И знаем, что объект выглядит следующим образом :
name : "new_name"
price : 300
description : "new description"
state : "new state"
Кто-нибудь знает, есть ли способ сделать это? Спасибо