Fixed #20224 -- Update docs examples which mention __unicode__

Thanks Marc Tamlyn and Tim Graham for the review.
This commit is contained in:
Claude Paroz 2013-07-04 15:19:33 +02:00
parent 577b0f9189
commit 7442eb1a24
24 changed files with 65 additions and 24 deletions

View file

@ -16,6 +16,7 @@ objects, and a ``Publication`` has multiple ``Article`` objects:
class Publication(models.Model):
title = models.CharField(max_length=30)
# On Python 3: def __str__(self):
def __unicode__(self):
return self.title
@ -26,6 +27,7 @@ objects, and a ``Publication`` has multiple ``Article`` objects:
headline = models.CharField(max_length=100)
publications = models.ManyToManyField(Publication)
# On Python 3: def __str__(self):
def __unicode__(self):
return self.headline

View file

@ -15,6 +15,7 @@ To define a many-to-one relationship, use :class:`~django.db.models.ForeignKey`.
last_name = models.CharField(max_length=30)
email = models.EmailField()
# On Python 3: def __str__(self):
def __unicode__(self):
return u"%s %s" % (self.first_name, self.last_name)
@ -23,6 +24,7 @@ To define a many-to-one relationship, use :class:`~django.db.models.ForeignKey`.
pub_date = models.DateField()
reporter = models.ForeignKey(Reporter)
# On Python 3: def __str__(self):
def __unicode__(self):
return self.headline
@ -56,9 +58,9 @@ Article objects have access to their related Reporter objects::
>>> r = a.reporter
These are strings instead of unicode strings because that's what was used in
the creation of this reporter (and we haven't refreshed the data from the
database, which always returns unicode strings)::
On Python 2, these are strings of type ``str`` instead of unicode strings
because that's what was used in the creation of this reporter (and we haven't
refreshed the data from the database, which always returns unicode strings)::
>>> r.first_name, r.last_name
('John', 'Smith')

View file

@ -16,6 +16,7 @@ In this example, a ``Place`` optionally can be a ``Restaurant``:
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
# On Python 3: def __str__(self):
def __unicode__(self):
return u"%s the place" % self.name
@ -24,6 +25,7 @@ In this example, a ``Place`` optionally can be a ``Restaurant``:
serves_hot_dogs = models.BooleanField()
serves_pizza = models.BooleanField()
# On Python 3: def __str__(self):
def __unicode__(self):
return u"%s the restaurant" % self.place.name
@ -31,6 +33,7 @@ In this example, a ``Place`` optionally can be a ``Restaurant``:
restaurant = models.ForeignKey(Restaurant)
name = models.CharField(max_length=50)
# On Python 3: def __str__(self):
def __unicode__(self):
return u"%s the waiter at %s" % (self.name, self.restaurant)

View file

@ -416,6 +416,7 @@ something like this::
class Person(models.Model):
name = models.CharField(max_length=128)
# On Python 3: def __str__(self):
def __unicode__(self):
return self.name
@ -423,6 +424,7 @@ something like this::
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
# On Python 3: def __str__(self):
def __unicode__(self):
return self.name
@ -709,7 +711,10 @@ of :ref:`methods automatically given to each model <model-instance-methods>`.
You can override most of these -- see `overriding predefined model methods`_,
below -- but there are a couple that you'll almost always want to define:
:meth:`~Model.__unicode__`
:meth:`~Model.__str__` (Python 3)
Python 3 equivalent of ``__unicode__()``.
:meth:`~Model.__unicode__` (Python 2)
A Python "magic method" that returns a unicode "representation" of any
object. This is what Python and Django will use whenever a model
instance needs to be coerced and displayed as a plain string. Most

View file

@ -23,6 +23,7 @@ models, which comprise a Weblog application:
name = models.CharField(max_length=100)
tagline = models.TextField()
# On Python 3: def __str__(self):
def __unicode__(self):
return self.name
@ -30,6 +31,7 @@ models, which comprise a Weblog application:
name = models.CharField(max_length=50)
email = models.EmailField()
# On Python 3: def __str__(self):
def __unicode__(self):
return self.name
@ -44,6 +46,7 @@ models, which comprise a Weblog application:
n_pingbacks = models.IntegerField()
rating = models.IntegerField()
# On Python 3: def __str__(self):
def __unicode__(self):
return self.headline