Prechádzať zdrojové kódy

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

Claude Paroz 12 rokov pred
rodič
commit
596e15293c
1 zmenil súbory, kde vykonal 5 pridanie a 1 odobranie
  1. 5 1
      docs/howto/custom-model-fields.txt

+ 5 - 1
docs/howto/custom-model-fields.txt

@@ -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`_