mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[py3] Refactored __unicode__ to __str__.
* Renamed the __unicode__ methods * Applied the python_2_unicode_compatible decorator * Removed the StrAndUnicode mix-in that is superseded by python_2_unicode_compatible * Kept the __unicode__ methods in classes that specifically test it under Python 2
This commit is contained in:
@@ -12,38 +12,43 @@ from django.contrib.auth.models import Permission
|
||||
from django.contrib.contenttypes import generic
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.db import models
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Category(models.Model):
|
||||
title = models.CharField(max_length=100)
|
||||
description = models.TextField()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
||||
class Meta:
|
||||
ordering = ('title',)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Article(models.Model):
|
||||
headline = models.CharField(max_length=100, default='Default headline')
|
||||
pub_date = models.DateTimeField()
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.headline
|
||||
|
||||
class Meta:
|
||||
ordering = ('-pub_date', 'headline')
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Blog(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
featured = models.ForeignKey(Article, related_name='fixtures_featured_set')
|
||||
articles = models.ManyToManyField(Article, blank=True,
|
||||
related_name='fixtures_articles_set')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Tag(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
tagged_type = models.ForeignKey(ContentType, related_name="fixtures_tag_set")
|
||||
@@ -51,7 +56,7 @@ class Tag(models.Model):
|
||||
tagged = generic.GenericForeignKey(ct_field='tagged_type',
|
||||
fk_field='tagged_id')
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return '<%s: %s> tagged "%s"' % (self.tagged.__class__.__name__,
|
||||
self.tagged, self.name)
|
||||
|
||||
@@ -59,10 +64,11 @@ class PersonManager(models.Manager):
|
||||
def get_by_natural_key(self, name):
|
||||
return self.get(name=name)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Person(models.Model):
|
||||
objects = PersonManager()
|
||||
name = models.CharField(max_length=100)
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
class Meta:
|
||||
@@ -79,19 +85,21 @@ class Spy(Person):
|
||||
objects = SpyManager()
|
||||
cover_blown = models.BooleanField(default=False)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Visa(models.Model):
|
||||
person = models.ForeignKey(Person)
|
||||
permissions = models.ManyToManyField(Permission, blank=True)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
return '%s %s' % (self.person.name,
|
||||
', '.join(p.name for p in self.permissions.all()))
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Book(models.Model):
|
||||
name = models.CharField(max_length=100)
|
||||
authors = models.ManyToManyField(Person)
|
||||
|
||||
def __unicode__(self):
|
||||
def __str__(self):
|
||||
authors = ' and '.join(a.name for a in self.authors.all())
|
||||
return '%s by %s' % (self.name, authors) if authors else self.name
|
||||
|
||||
|
||||
Reference in New Issue
Block a user