Skip to content

Commit

Permalink
use python_2_unicode_compatible backported from django 1.5
Browse files Browse the repository at this point in the history
  • Loading branch information
graingert committed Apr 8, 2013
1 parent c673658 commit 78fdfc0
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions templatetag_sugar/tests/models.py
@@ -1,8 +1,24 @@
from django.db import models
import six


def python_2_unicode_compatible(klass):
"""
A decorator that defines __unicode__ and __str__ methods under Python 2.
Under Python 3 it does nothing.
To support Python 2 and 3 with a single code base, define a __str__ method
returning text and apply this decorator to the class.
"""
if not six.PY3:
klass.__unicode__ = klass.__str__
klass.__str__ = lambda self: self.__unicode__().encode('utf-8')
return klass


@python_2_unicode_compatible
class Book(models.Model):
title = models.CharField(max_length=50)
def __unicode__(self):

def __str__(self):
return self.title

0 comments on commit 78fdfc0

Please sign in to comment.