﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
19928	python_2_unicode_compatible breaks Python 2	Vernon Cole	nobody	"Following the example in [https://docs.djangoproject.com/en/1.5/topics/python3/]
I made my models.py look like this:

{{{
from __future__ import unicode_literals
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
#@python_2_unicode_compatible
class Ward_Name(models.Model):
    state = models.CharField(""State"", max_length=55,
        help_text=""Nigearin State (large political subdivision)"")
    lga = models.CharField(""LGA"", max_length=255, blank=True,
        help_text=""Nigerain Local Government Area (medium political subdivision)"")
    ward = models.CharField(max_length=255, blank=True,
        help_text=""Ward (small political subdivision)"")
    db_ward = models.CharField(""Db Ward"",max_length=255, blank=True,
        help_text=""database altered version of Ward name"")
    def __str__(self):
        return str('State={}, LGA={}, Ward={}, called ""{}""'.format(
            self.state, self.lga, self.ward, self.db_ward))
    class Meta:
        unique_together = ((""lga"",""ward""))
        index_together = [[""lga"",""ward""]]
}}}
Note that the decorator is commented out...
I test using the following code, which works in both Python2.7 and Python3.3
$python manage.py x_test
{{{
from __future__ import print_function
from django.core.management.base import BaseCommand
from nomads.models import Ward_Name

class Command(BaseCommand):
    args = ""<(none)>""
    help = 'test reading Ward Name data table'

    def handle(self, *args, **options):
        self.test_read(*args)

    def test_read(self, *args):
        qs = Ward_Name.objects.all()
        for w in qs:
            print('Ward=',w)
}}}
When I un-comment the decorator the program fails under python 2

$ python manage.py x_test
RuntimeError: maximum recursion depth exceeded while calling a Python object

Is the error in the django 1.5 code, the documentation, or my understanding?

(the work-around is easy:  just do not use the feature and everything works in both versions)

(My environment is: Ubuntu 12.10 64 bit
django 1.5stable pulled from github this morning 

"	Uncategorized	closed	Uncategorized	dev	Normal	invalid	porting to python 3	m.r.sopacua@…	Unreviewed	0	0	0	0	0	0
