如何解决Django使用models.Field对象更新对象
我在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",blank=True)
op3 = models.CharField(verbose_name="Option 3",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''
字符串进行格式化更容易理解。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。