Fixed #14638 -- Clarified model Field.to_python() docs.

Thanks Anubhav Joshi for the patch.
This commit is contained in:
Tim Graham 2014-08-18 12:49:50 -04:00
parent 152afadef1
commit b6aa60f425
1 changed files with 9 additions and 9 deletions

View File

@ -362,17 +362,17 @@ If you want your code to work on Python 2 & 3, you can use
class HandField(with_metaclass(models.SubfieldBase, models.Field)): class HandField(with_metaclass(models.SubfieldBase, models.Field)):
... ...
This ensures that the :meth:`.to_python` method, documented below, will always This ensures that the :meth:`.to_python` method will always be called when the
be called when the attribute is initialized. attribute is initialized.
ModelForms and custom fields ``ModelForm``\s and custom fields
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you use :class:`~django.db.models.SubfieldBase`, :meth:`.to_python` If you use :class:`~django.db.models.SubfieldBase`, :meth:`.to_python` will be
will be called every time an instance of the field is assigned a called every time an instance of the field is assigned a value (in addition to
value. This means that whenever a value may be assigned to the field, its usual call when retrieving the value from the database). This means that
you need to ensure that it will be of the correct datatype, or that whenever a value may be assigned to the field, you need to ensure that it will
you handle any exceptions. be of the correct datatype, or that you handle any exceptions.
This is especially important if you use :doc:`ModelForms This is especially important if you use :doc:`ModelForms
</topics/forms/modelforms>`. When saving a ModelForm, Django will use </topics/forms/modelforms>`. When saving a ModelForm, Django will use