常规更新字段值的方法有两种:
1、save()
hero = HeroInfo.objects.get(hname='猪八戒')
hero.hname = '猪悟能'
hero.save()
2、update()
HeroInfo.objects.filter(hname='沙悟净').update(hname='沙僧') #会返回受影响行数
下面介绍一种特殊用法:
def save_models(self):
for key, file in self.request.FILES.items():
data_field = key[:key.index('name')] + 'data'
# 这样是不行的,obj.后面必须接属性,接变量是无效的
# self.new_obj.data_field = file.read()
# 可以用setattr函数
setattr(self.new_obj, key, file.name)
setattr(self.new_obj, data_field, file.read())
self.new_obj.save()