summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCollin Anderson <cmawebsite@gmail.com>2017-04-08 14:38:48 -0400
committerTim Graham <timograham@gmail.com>2017-06-09 13:42:53 -0400
commit1a49b8947033fd667310b1b996330a8e119fcbf9 (patch)
treec6c1154a617e21e0539ef9f8214c0013ce9fb742
parent7c9cb1ed37354c184fe0438ecae923d5be711c86 (diff)
Fixed #27953 -- Added instance's pk to Model.__str__().
-rw-r--r--django/db/models/base.py2
-rw-r--r--docs/intro/tutorial02.txt8
-rw-r--r--docs/releases/2.0.txt3
-rw-r--r--tests/str/tests.py7
4 files changed, 13 insertions, 7 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py
index e4ef6e5495..949b1697fc 100644
--- a/django/db/models/base.py
+++ b/django/db/models/base.py
@@ -505,7 +505,7 @@ class Model(metaclass=ModelBase):
return '<%s: %s>' % (self.__class__.__name__, u)
def __str__(self):
- return '%s object' % self.__class__.__name__
+ return '%s object (%s)' % (self.__class__.__name__, self.pk)
def __eq__(self, other):
if not isinstance(other, Model):
diff --git a/docs/intro/tutorial02.txt b/docs/intro/tutorial02.txt
index 48e4ac7e7d..5eca45ee09 100644
--- a/docs/intro/tutorial02.txt
+++ b/docs/intro/tutorial02.txt
@@ -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.
>>> Question.objects.all()
- <QuerySet [<Question: Question object>]>
+ <QuerySet [<Question: Question object (1)>]>
-Wait a minute. ``<Question: Question object>`` is, utterly, an unhelpful representation
-of this object. Let's fix that by editing the ``Question`` model (in the
-``polls/models.py`` file) and adding a
+Wait a minute. ``<Question: Question object (1)>`` isn't a helpful
+representation of this object. Let's fix that by editing the ``Question`` model
+(in the ``polls/models.py`` file) and adding a
:meth:`~django.db.models.Model.__str__` method to both ``Question`` and
``Choice``:
diff --git a/docs/releases/2.0.txt b/docs/releases/2.0.txt
index de5559a7eb..5214b3f2f5 100644
--- a/docs/releases/2.0.txt
+++ b/docs/releases/2.0.txt
@@ -441,6 +441,9 @@ Miscellaneous
:class:`~django.views.i18n.JavaScriptCatalog` view now raises ``ValueError``
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:
Features deprecated in 2.0
diff --git a/tests/str/tests.py b/tests/str/tests.py
index db21ccb2d9..181906fa0d 100644
--- a/tests/str/tests.py
+++ b/tests/str/tests.py
@@ -30,5 +30,8 @@ class SimpleTests(TestCase):
# coerce the returned value.
self.assertIsInstance(obj.__str__(), str)
self.assertIsInstance(obj.__repr__(), str)
- self.assertEqual(str(obj), 'Default object')
- self.assertEqual(repr(obj), '<Default: Default object>')
+ self.assertEqual(str(obj), 'Default object (None)')
+ 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)>')