Fixed #27953 -- Added instance's pk to Model.__str__().
This commit is contained in:
parent
7c9cb1ed37
commit
1a49b89470
|
@ -505,7 +505,7 @@ class Model(metaclass=ModelBase):
|
||||||
return '<%s: %s>' % (self.__class__.__name__, u)
|
return '<%s: %s>' % (self.__class__.__name__, u)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return '%s object' % self.__class__.__name__
|
return '%s object (%s)' % (self.__class__.__name__, self.pk)
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
if not isinstance(other, Model):
|
if not isinstance(other, Model):
|
||||||
|
|
|
@ -437,11 +437,11 @@ Once you're in the shell, explore the :doc:`database API </topics/db/queries>`::
|
||||||
|
|
||||||
# objects.all() displays all the questions in the database.
|
# objects.all() displays all the questions in the database.
|
||||||
>>> Question.objects.all()
|
>>> Question.objects.all()
|
||||||
<QuerySet [<Question: Question object>]>
|
<QuerySet [<Question: Question object (1)>]>
|
||||||
|
|
||||||
Wait a minute. ``<Question: Question object>`` is, utterly, an unhelpful representation
|
Wait a minute. ``<Question: Question object (1)>`` isn't a helpful
|
||||||
of this object. Let's fix that by editing the ``Question`` model (in the
|
representation of this object. Let's fix that by editing the ``Question`` model
|
||||||
``polls/models.py`` file) and adding a
|
(in the ``polls/models.py`` file) and adding a
|
||||||
:meth:`~django.db.models.Model.__str__` method to both ``Question`` and
|
:meth:`~django.db.models.Model.__str__` method to both ``Question`` and
|
||||||
``Choice``:
|
``Choice``:
|
||||||
|
|
||||||
|
|
|
@ -441,6 +441,9 @@ Miscellaneous
|
||||||
:class:`~django.views.i18n.JavaScriptCatalog` view now raises ``ValueError``
|
:class:`~django.views.i18n.JavaScriptCatalog` view now raises ``ValueError``
|
||||||
instead of passing silently.
|
instead of passing silently.
|
||||||
|
|
||||||
|
* A model instance's primary key now appears in the default ``Model.__str__()``
|
||||||
|
method, e.g. ``Question object (1)``.
|
||||||
|
|
||||||
.. _deprecated-features-2.0:
|
.. _deprecated-features-2.0:
|
||||||
|
|
||||||
Features deprecated in 2.0
|
Features deprecated in 2.0
|
||||||
|
|
|
@ -30,5 +30,8 @@ class SimpleTests(TestCase):
|
||||||
# coerce the returned value.
|
# coerce the returned value.
|
||||||
self.assertIsInstance(obj.__str__(), str)
|
self.assertIsInstance(obj.__str__(), str)
|
||||||
self.assertIsInstance(obj.__repr__(), str)
|
self.assertIsInstance(obj.__repr__(), str)
|
||||||
self.assertEqual(str(obj), 'Default object')
|
self.assertEqual(str(obj), 'Default object (None)')
|
||||||
self.assertEqual(repr(obj), '<Default: Default object>')
|
self.assertEqual(repr(obj), '<Default: Default object (None)>')
|
||||||
|
obj2 = Default(pk=100)
|
||||||
|
self.assertEqual(str(obj2), 'Default object (100)')
|
||||||
|
self.assertEqual(repr(obj2), '<Default: Default object (100)>')
|
||||||
|
|
Loading…
Reference in New Issue