diff --git a/django/db/models/base.py b/django/db/models/base.py
index 1927b1e..13f353b 100644
a
|
b
|
class Model(object):
|
856 | 856 | if exclude is None: |
857 | 857 | exclude = [] |
858 | 858 | |
| 859 | # We need to run clean() first, to make sure any custom field |
| 860 | # settings are applied before using clean_fields |
859 | 861 | try: |
860 | | self.clean_fields(exclude=exclude) |
| 862 | self.clean() |
861 | 863 | except ValidationError, e: |
862 | 864 | errors = e.update_error_dict(errors) |
863 | 865 | |
864 | | # Form.clean() is run even if other validation fails, so do the |
865 | | # same with Model.clean() for consistency. |
| 866 | |
866 | 867 | try: |
867 | | self.clean() |
| 868 | self.clean_fields(exclude=exclude) |
868 | 869 | except ValidationError, e: |
869 | 870 | errors = e.update_error_dict(errors) |
870 | 871 | |