diff options
| author | Tim Graham <timograham@gmail.com> | 2014-08-05 08:40:27 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-08-05 08:44:57 -0400 |
| commit | edcc75e5ac5b9dc2f174580e7adacd3be586f8bd (patch) | |
| tree | 3e3a8069d9d3fe5a36ee222643089906ebf9503e /docs/ref | |
| parent | 0efd72dc908da84d7d586d553cce34f0cf01eb54 (diff) | |
Fixed #21792 -- Documented Form.has_changed()
Thanks bjb at credil.org for the suggestion and
Ivan Mesic for the draft patch.
Diffstat (limited to 'docs/ref')
| -rw-r--r-- | docs/ref/forms/api.txt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/docs/ref/forms/api.txt b/docs/ref/forms/api.txt index 954d14e184..42780bde3c 100644 --- a/docs/ref/forms/api.txt +++ b/docs/ref/forms/api.txt @@ -256,6 +256,31 @@ precedence:: <tr><th>Url:</th><td><input type="url" name="url" /></td></tr> <tr><th>Comment:</th><td><input type="text" name="comment" /></td></tr> +Checking if form data has changed +--------------------------------- + +.. method:: Form.has_changed() + +Use the ``has_changed()`` method on your ``Form`` when you need to check if the +form data has been changed from the initial data. + + >>> data = {'subject': 'hello', + ... 'message': 'Hi there', + ... 'sender': 'foo@example.com', + ... 'cc_myself': True} + >>> f = ContactForm(initial=data) + >>> f.has_changed() + False + +When the form is submitted, we reconstruct it and provide the original data +so that the comparison can be done: + + >>> f = ContactForm(request.POST, initial=data) + >>> f.has_changed() + +``has_changed()`` will be ``True`` if the data from ``request.POST`` differs +from what was provided in :attr:`~Form.initial` or ``False`` otherwise. + Accessing the fields from the form ---------------------------------- |
