Checking which form data has been changed
폼 데이터 변경사항을 체크하기 위해서는 has_changed()
메서드를 사용하면 됩니다.
초기값에서부터 폼 데이터가 변경 되었는지 아니었는지 확인할 필요가 있을떄 체크 합니다.
1 | In [2]: from forms_more_on_fields.forms import ContactForm |
폼이 제출 되었을때, 우리는 다시 폼을 만들고 오리지널 데이터를 제공하여 비교가 이루어 질수 있습니다.
1 | >> f = ContactForm(request.POST, initial=data) |
만약, request_POST 에서 온 data 가 initial 에 있는 데이터와 다르다면, has_changed() 는 True 를 반환할겁니다. 그렇지 않다면, False 를 반환합니다.
이 결과는, 폼안에 있는 각 필드에, has_changed() 를 호출함으로 계산됩니다.
Form.changed_data
changed_data 속성은 initial 에 제공되었던 데이터와 다른 데이터들이, 폼을 통해 (보통 request.POST를 통해서) 온 데이터들과 다를때, 폼의 bound data 안에 있는 필드들의 이름을 가진 리스트를 반환합니다.
1 | >> f = ContactForm(request.POST, initial=data) |