diff options
| author | Jimmy Song <jaejoon@gmail.com> | 2013-08-04 19:40:16 +0000 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-08-05 09:06:09 -0400 |
| commit | 94d7fed7750322e8b80402c1e731bab6d4509f2e (patch) | |
| tree | 8bb6d56f5c0679ba3a7faa549e81398a0225e6ad /docs | |
| parent | 26c4bd38acd4c1b5125eaa381420c2ca5603bd39 (diff) | |
Fixed #20859 - Clarified Model.clean() example.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ref/models/instances.txt | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt index 1e7ad1ffdf..cb8570afdc 100644 --- a/docs/ref/models/instances.txt +++ b/docs/ref/models/instances.txt @@ -140,15 +140,19 @@ attributes on your model if desired. For instance, you could use it to automatically provide a value for a field, or to do validation that requires access to more than a single field:: - def clean(self): - import datetime - from django.core.exceptions import ValidationError - # 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.') - # 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() + import datetime + from django.core.exceptions import ValidationError + from django.db import models + + 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.') + # 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() Any :exc:`~django.core.exceptions.ValidationError` exceptions raised by ``Model.clean()`` will be stored in a special key error dictionary key, |
