Commit 596e1529 authored by Claude Paroz's avatar Claude Paroz
Browse files

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

parent 47da7b7a
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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`_