﻿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
8011	Translated strings in a ForeignKey of a model in an application not in the project root causes errors	anonymous	Malcolm Tredinnick	"This seems like a real edge-case, but still it is an issue (for me at least). Since the memory optimization stuff from [8127], if I have a lazily translated string (in this case as the `verbose_name`) for a ForeignKey, which is in a model located in an application not in the project root (in this case in `project.generic.tagging`, I get this lovely error:

{{{
Traceback (most recent call last):
  File ""manage.py"", line 11, in <module>
    execute_manager(settings)
  File ""/usr/local/obeattie/__init__.py"", line 301, in execute_manager
    
  File ""/usr/local/obeattie/__init__.py"", line 248, in execute
    
  File ""/sw/lib/python2.5/site-packages/django/core/management/base.py"", line 77, in run_from_argv
  File ""/sw/lib/python2.5/site-packages/django/core/management/base.py"", line 86, in execute
  File ""/usr/local/django/trunk/django/utils/translation/__init__.py"", line 73, in activate
    return real_activate(language)
  File ""/usr/local/django/trunk/django/utils/translation/__init__.py"", line 43, in delayed_loader
    return g['real_%s' % caller](*args, **kwargs)
  File ""/Library/Python/2.5/site-packages/django/utils/translation/trans_real.py"", line 209, in activate
    _active[currentThread()] = translation(language)
  File ""/Library/Python/2.5/site-packages/django/utils/translation/trans_real.py"", line 198, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File ""/Library/Python/2.5/site-packages/django/utils/translation/trans_real.py"", line 181, in _fetch
    app = getattr(__import__(appname[:p], {}, {}, [appname[p+1:]]), appname[p+1:])
  File ""/usr/local/obeattie/../obeattie/generic/tagging/__init__.py"", line 1, in <module>
    import obeattie.generic.tagging.admin
  File ""/usr/local/obeattie/../obeattie/generic/tagging/admin.py"", line 3, in <module>
    from obeattie.generic.tagging import models as tagging_models
  File ""/usr/local/obeattie/../obeattie/generic/tagging/models.py"", line 500, in <module>
    class TaggedItem(models.Model):
  File ""/Library/Python/2.5/site-packages/django/db/models/base.py"", line 89, in __new__
    new_class.add_to_class(obj_name, obj)
  File ""/Library/Python/2.5/site-packages/django/db/models/base.py"", line 140, in add_to_class
    value.contribute_to_class(cls, name)
  File ""/Library/Python/2.5/site-packages/django/db/models/fields/related.py"", line 672, in contribute_to_class
    super(ForeignKey, self).contribute_to_class(cls, name)
  File ""/Library/Python/2.5/site-packages/django/db/models/fields/related.py"", line 113, in contribute_to_class
    self.do_related_class(other, cls)
  File ""/Library/Python/2.5/site-packages/django/db/models/fields/related.py"", line 121, in do_related_class
    self.set_attributes_from_rel()
  File ""/Library/Python/2.5/site-packages/django/db/models/fields/related.py"", line 117, in set_attributes_from_rel
    self.verbose_name = self.verbose_name or self.rel.to._meta.verbose_name
  File ""/Library/Python/2.5/site-packages/django/utils/functional.py"", line 188, in __wrapper__
    res = self.__func(*self.__args, **self.__kw)
  File ""/usr/local/django/trunk/django/utils/translation/__init__.py"", line 62, in ugettext
    return real_ugettext(message)
  File ""/Library/Python/2.5/site-packages/django/utils/translation/trans_real.py"", line 288, in ugettext
    return do_translate(message, 'ugettext')
  File ""/Library/Python/2.5/site-packages/django/utils/translation/trans_real.py"", line 278, in do_translate
    _default = translation(settings.LANGUAGE_CODE)
  File ""/Library/Python/2.5/site-packages/django/utils/translation/trans_real.py"", line 198, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File ""/Library/Python/2.5/site-packages/django/utils/translation/trans_real.py"", line 181, in _fetch
    app = getattr(__import__(appname[:p], {}, {}, [appname[p+1:]]), appname[p+1:])
AttributeError: 'module' object has no attribute 'tagging'
}}}

(This actually happened in `django-tagging`). I've tracked it down to changes made to or in `django.utils.functional.lazy.__proxy__.__promise__.__wrapper__` — it doesn't appear that it got called prior to these changes (in [8119] at least), if that helps at all."		closed	Translations	dev		fixed	translation, lazy, model	oliver@…	Accepted	0	0	0	0	0	0
