Opened 16 years ago

Last modified 13 years ago

#6272 closed

django.utils.translation.ugettext_lazy needs __add__ support — at Initial Version

Reported by: Tai Lee <real.human@…> Owned by: nobody
Component: Core (Other) Version: dev
Severity: Normal Keywords: ugettext_lazy unicode concatenate
Cc: real.human@… Triage Stage: Design decision needed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

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?

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top