from django.db.models.query import Prefetch
from django.dispatch import Signal
from django.urls import reverse
-from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import gettext_lazy as _
from newtagging.models import TagManager, TaggedItemManager
created_at = models.DateTimeField(_('creation date'), auto_now_add=True, db_index=True)
changed_at = models.DateTimeField(_('creation date'), auto_now=True, db_index=True)
- after_change = Signal(providing_args=['instance'])
+ after_change = Signal()
intermediary_table_model = TagRelation
objects = TagManager()
unique_together = (("slug", "category"),)
app_label = 'catalogue'
- def save(self, *args, **kwargs):
+ def save(self, *args, quick=False, **kwargs):
existing = self.pk and self.category != 'set'
ret = super(Tag, self).save(*args, **kwargs)
- if existing:
+ if existing and not quick:
self.after_change.send(sender=type(self), instance=self)
return ret
# For instance, Pictures do not have 'genre' field.
continue
for tag_name in tag_names:
- lang = getattr(tag_name, 'lang', settings.LANGUAGE_CODE)
+ lang = getattr(tag_name, 'lang', None) or settings.LANGUAGE_CODE
tag_sort_key = tag_name
if category == 'author':
tag_sort_key = ' '.join((tag_name.last_name,) + tag_name.first_names)