Django使用模型更新对象.字段对象



我在Django模型中有几十个字段。

class Question(models.Model):
op1 = models.CharField(verbose_name="Option 1",max_length=500,null=True,blank=True)
op2 = models.CharField(verbose_name="Option 2",max_length=500,null=True,blank=True)
op3 = models.CharField(verbose_name="Option 3",max_length=500,null=True,blank=True)
....

我想写一个函数

def update_ith_option_of_question( q, i, val):
op = d._meta.get_field('op'+str(i))
# I want to save val in field op of object q

如何编写上述函数?

使用Python的setattr

def update_ith_option_of_question(q, i, val):
setattr(q, f'op{i}', val)
q.save()

此外,使用f''字符串进行格式化更具可读性。

相关内容

  • 没有找到相关文章