diff options
| author | Claude Paroz <claude@2xlibre.net> | 2016-11-19 21:54:19 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2017-01-18 13:44:34 +0100 |
| commit | f3c43ad1fd9556f0fd026a5dfa93c67a5cf186ca (patch) | |
| tree | 65ca40d4527b377845cdd382456383bf97caafa6 /docs/ref | |
| parent | d7b9aaa366dd54ecc3142c588162e3adc7c2f7ac (diff) | |
Refs #23919 -- Removed python_2_unicode_compatible decorator usage
Diffstat (limited to 'docs/ref')
| -rw-r--r-- | docs/ref/models/instances.txt | 5 | ||||
| -rw-r--r-- | docs/ref/unicode.txt | 27 |
2 files changed, 0 insertions, 32 deletions
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt index 83f76f37ca..838a4bd4de 100644 --- a/docs/ref/models/instances.txt +++ b/docs/ref/models/instances.txt @@ -601,9 +601,7 @@ representation of the model from the ``__str__()`` method. For example:: from django.db import models - from django.utils.encoding import python_2_unicode_compatible - @python_2_unicode_compatible # only if you need to support Python 2 class Person(models.Model): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) @@ -611,9 +609,6 @@ For example:: def __str__(self): return '%s %s' % (self.first_name, self.last_name) -If you'd like compatibility with Python 2, you can decorate your model class -with :func:`~django.utils.encoding.python_2_unicode_compatible` as shown above. - ``__eq__()`` ------------ diff --git a/docs/ref/unicode.txt b/docs/ref/unicode.txt index 3c29be550d..c167fd55b3 100644 --- a/docs/ref/unicode.txt +++ b/docs/ref/unicode.txt @@ -258,33 +258,6 @@ is *always* the case, even if the data could fit into an ASCII bytestring. You can pass in bytestrings when creating a model or populating a field, and Django will convert it to Unicode when it needs to. -Choosing between ``__str__()`` and ``__unicode__()`` ----------------------------------------------------- - -.. note:: - - If you are on Python 3, you can skip this section because you'll always - create ``__str__()`` rather than ``__unicode__()``. If you'd like - compatibility with Python 2, you can decorate your model class with - :func:`~django.utils.encoding.python_2_unicode_compatible`. - -One consequence of using Unicode by default is that you have to take some care -when printing data from the model. - -In particular, rather than giving your model a ``__str__()`` method, we -recommended you implement a ``__unicode__()`` method. In the ``__unicode__()`` -method, you can quite safely return the values of all your fields without -having to worry about whether they fit into a bytestring or not. (The way -Python works, the result of ``__str__()`` is *always* a bytestring, even if you -accidentally try to return a Unicode object). - -You can still create a ``__str__()`` method on your models if you want, of -course, but you shouldn't need to do this unless you have a good reason. -Django's ``Model`` base class automatically provides a ``__str__()`` -implementation that calls ``__unicode__()`` and encodes the result into UTF-8. -This means you'll normally only need to implement a ``__unicode__()`` method -and let Django handle the coercion to a bytestring when required. - Taking care in ``get_absolute_url()`` ------------------------------------- |
