반응형
Django : form.save ()를 재정의하는 방법?
내 모델에는 몇 개의 부울 필드가 있습니다. 나는 이것을 MultipleChoiceField
수정 된 으로 렌더링하는 3 세트 로 나눴습니다 CheckboxSelectMultiple
.
이제이 데이터를 다시 DB에 저장해야합니다. 즉, 단일 위젯에서 반환 된 데이터를 여러 부울 열로 분할해야합니다. 나는 이것이 적절한 생각 save()
, 방법 없음?
질문은 어떻게해야합니까? 이 같은?
def save(self, commit=True):
# code here
return super(MyForm, self).save(commit)
그렇다면 ... 값을 어떻게 설정합니까?
self.fields['my_field'].value = 'my_flag' in self.cleaned_data['multi_choice']
또는 뭔가? 모든 데이터는 어디에 저장됩니까?
데이터를 저장할 위치는 새 모델 인스턴스입니다.
def save(self, commit=True):
instance = super(MyForm, self).save(commit=False)
instance.flag1 = 'flag1' in self.cleaned_data['multi_choice'] # etc
if commit:
instance.save()
return instance
참고 URL : https://stackoverflow.com/questions/3927305/django-how-to-override-form-save
반응형
'code' 카테고리의 다른 글
파이썬에서 시간 델타 비교 (0) | 2020.12.12 |
---|---|
svg 좌표계 반전 (0) | 2020.12.12 |
유전자 프로그래밍을 방해하는 것은 무엇입니까? (0) | 2020.12.12 |
바코드 스캐너 앱을 사용하지 않고 Zxing 라이브러리 포함 (0) | 2020.12.12 |
명명 규칙 : 부울 변수의 이름은 무엇입니까? (0) | 2020.12.11 |