覆盖django中的save()方法时可以遍历模型字段吗?

Can you iterate through model fields when you overwrite the save() method in django?

我正在我的模型中调用自定义保存方法。 save 方法旨在根据 TextField 的内容在模型中生成一些值。此内容存储在字典中,并正确生成。

我正在尝试编写一个 for 循环来存储字典的值。键对应于模型字段名称:

def save(self, *args, **kwargs):
        if self.text != "":
            results_dict = analyze(self.text)
            for field_name in field_names_list:
                self.field_name = results_dict[field_name]

该值未存储在相应的字段中。我需要在这里使用 setattr 吗?

试试这个:

def save(self, *args, **kwargs):
   if self.text != "":
      results_dict = analyze(self.text)
      for field_name in field_names_list:
         setattr(self, field_name, results_dict[field_name])
   super().save(*args, **kwargs)