Fixed #11162 -- Mentioned ValidationError in custom model field docs

This commit is contained in:
Claude Paroz 2012-06-30 14:30:32 +02:00
parent 47da7b7a9a
commit 596e15293c
1 changed files with 5 additions and 1 deletions

View File

@ -434,10 +434,14 @@ database, so we need to be able to process strings and ``Hand`` instances in
p1 = re.compile('.{26}')
p2 = re.compile('..')
args = [p2.findall(x) for x in p1.findall(value)]
if len(args) != 4:
raise ValidationError("Invalid input for a Hand instance")
return Hand(*args)
Notice that we always return a ``Hand`` instance from this method. That's the
Python object type we want to store in the model's attribute.
Python object type we want to store in the model's attribute. If anything is
going wrong during value conversion, you should return a
:exc:`~django.core.exceptions.ValidationError` exception.
**Remember:** If your custom field needs the :meth:`to_python` method to be
called when it is created, you should be using `The SubfieldBase metaclass`_