summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Brenecki <adam@brenecki.id.au>2015-08-03 15:30:26 +1000
committerTim Graham <timograham@gmail.com>2015-08-13 14:17:02 -0400
commit52a190b65781f8dc07abd230aaf9043fbdbf4fba (patch)
treebb4d653ef061fd1863092435b9a4854679850aee
parentece78684d9e09c477c4a0f10236c0aec45bac726 (diff)
Fixed #24988 -- Documented passing a dictionary of ValidationErrors to ValidationError
-rw-r--r--docs/ref/models/instances.txt13
1 files changed, 11 insertions, 2 deletions
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt
index 867e30a6fc..85d68feaf2 100644
--- a/docs/ref/models/instances.txt
+++ b/docs/ref/models/instances.txt
@@ -253,13 +253,14 @@ access to more than a single field::
import datetime
from django.core.exceptions import ValidationError
from django.db import models
+ from django.utils.translation import ugettext_lazy as _
class Article(models.Model):
...
def clean(self):
# Don't allow draft entries to have a pub_date.
if self.status == 'draft' and self.pub_date is not None:
- raise ValidationError('Draft entries may not have a publication date.')
+ raise ValidationError(_('Draft entries may not have a publication date.'))
# Set the pub_date for published items if it hasn't been set already.
if self.status == 'published' and self.pub_date is None:
self.pub_date = datetime.date.today()
@@ -289,9 +290,17 @@ error to the ``pub_date`` field::
def clean(self):
# Don't allow draft entries to have a pub_date.
if self.status == 'draft' and self.pub_date is not None:
- raise ValidationError({'pub_date': 'Draft entries may not have a publication date.'})
+ raise ValidationError({'pub_date': _('Draft entries may not have a publication date.')})
...
+If you detect errors in multiple fields during ``Model.clean()``, you can also
+pass a dictionary mapping field names to errors::
+
+ raise ValidationError({
+ 'title': ValidationError(_('Missing title.'), code='required'),
+ 'pub_date': ValidationError(_('Invalid date.'), code='invalid'),
+ })
+
Finally, ``full_clean()`` will check any unique constraints on your model.
.. method:: Model.validate_unique(exclude=None)