django는 setattr () 함수로 모델 필드의 값을 업데이트합니다

767 단어 Django
일반적으로 필드 값을 업데이트하는 방법은 두 가지가 있습니다.
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()

좋은 웹페이지 즐겨찾기