diff --git a/newsbox_i18n/models.py b/newsbox_i18n/models.py index e71c839f61532c68b8344dd2fe9b1ef0718a56d1..64b36cae216d96393afab6dc8a1462a052d2d245 100644 --- a/newsbox_i18n/models.py +++ b/newsbox_i18n/models.py @@ -2,11 +2,12 @@ from __future__ import unicode_literals from django.core.urlresolvers import reverse -from django.utils.translation import ugettext_lazy as _, get_language, activate +from django.utils.translation import ugettext_lazy as _, get_language from django.utils import six from django.utils.encoding import python_2_unicode_compatible from parler.managers import TranslatableManager, TranslatableQuerySet from parler.models import TranslatableModel, TranslatedFields +from parler.utils.context import switch_language from newsbox.models import NewsboxModelBase, NewsboxManager @@ -81,13 +82,12 @@ class NewsboxI18NBase(six.with_metaclass(NewsboxI18NModelBase, TranslatableModel break if not language: return None - activate(language) - url = reverse(self._newsbox_meta['detail_url_name'], args=( - self.newsbox_publication_start_date.strftime("%Y"), - self.newsbox_publication_start_date.strftime("%m"), - self.newsbox_publication_start_date.strftime("%d"), - self.get_slug(language=language),)) - activate(current_language) + with switch_language(self, language): + url = reverse(self._newsbox_meta['detail_url_name'], args=( + self.newsbox_publication_start_date.strftime("%Y"), + self.newsbox_publication_start_date.strftime("%m"), + self.newsbox_publication_start_date.strftime("%d"), + self.get_slug(language=language),)) return url class Meta: