summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2014-08-05 08:40:27 -0400
committerTim Graham <timograham@gmail.com>2014-08-05 08:44:57 -0400
commitedcc75e5ac5b9dc2f174580e7adacd3be586f8bd (patch)
tree3e3a8069d9d3fe5a36ee222643089906ebf9503e /docs
parent0efd72dc908da84d7d586d553cce34f0cf01eb54 (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')
-rw-r--r--docs/ref/forms/api.txt25
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
----------------------------------