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 6272,django.utils.translation.ugettext_lazy needs __add__ support,Tai Lee ,nobody,"The model fields defined in django.contrib.auth.models (and I assume other parts of django) use django.utils.translation.ugettext_lazy to specify the label (or another property from which the label is derived). The form field objects generated by form_for_* and ModelForm on these models return a {{{django.utils.functional.__proxy__}}} object instead of a unicode object where ugettex_lazy is not used. I have a few helper template tags which are trying to alter the form field label with a concatenation, which is throwing an error for form_for_model and ModelForm forms for django.contrib.auth.models.User (and other django/contrib models that use ugettext_lazy). As the documentation doesn't recommend or require the use of ugettext_lazy in it's examples and tutorials when defining models and forms, this inconsistent behaviour seems less than ideal. If {{{django.utils.functional.__proxy__}}} could be changed with an {{{__add__}}} (and other?) methods to behave more like a string/unicode object, that would be good? ",New feature,closed,Core (Other),dev,Normal,wontfix,ugettext_lazy unicode concatenate,real.human@…,Design decision needed,0,0,0,0,0,0