1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

Fixed #24716 -- Deprecated Field._get_val_from_obj()

The method duplicates the functionality of Field.value_from_object()
and has the additional downside of being a privately named public
API method.
This commit is contained in:
Thomas Stephenson
2015-04-26 16:30:46 +10:00
committed by Tim Graham
parent 0ffa3943fb
commit 035b0fa60d
11 changed files with 31 additions and 19 deletions

View File

@@ -705,15 +705,16 @@ Converting field data for serialization
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To customize how the values are serialized by a serializer, you can override
:meth:`~Field.value_to_string`. Calling ``Field._get_val_from_obj(obj)`` is the
best way to get the value serialized. For example, since our ``HandField`` uses
strings for its data storage anyway, we can reuse some existing conversion code::
:meth:`~Field.value_to_string`. Using ``value_from_object()`` is the best way
to get the field's value prior to serialization. For example, since our
``HandField`` uses strings for its data storage anyway, we can reuse some
existing conversion code::
class HandField(models.Field):
# ...
def value_to_string(self, obj):
value = self._get_val_from_obj(obj)
value = self.value_from_object(obj)
return self.get_prep_value(value)
Some general advice

View File

@@ -79,6 +79,9 @@ details on these changes.
* Support for setting a URL instance namespace without an application
namespace will be removed.
* ``Field._get_val_from_obj()`` will be removed in favor of
``Field.value_from_object()``.
.. _deprecation-removed-in-1.10:
1.10

View File

@@ -1001,6 +1001,9 @@ Miscellaneous
* :class:`~django.core.signing.Signer` now issues a warning if an invalid
separator is used. This will become an exception in Django 1.10.
* ``django.db.models.Field._get_val_from_obj()`` is deprecated in favor of
``Field.value_from_object()``.
.. removed-features-1.9:
Features removed in 1.9