X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/1f74e9a6dc7dd2303f3271ccf4c7a3eb59e3e27e..12062e131b71c01e109162671674fb28438d9365:/apps/newtagging/managers.py diff --git a/apps/newtagging/managers.py b/apps/newtagging/managers.py index 7870092e0..f802aa1cb 100644 --- a/apps/newtagging/managers.py +++ b/apps/newtagging/managers.py @@ -14,15 +14,15 @@ class ModelTagManager(models.Manager): def __init__(self, tag_model): super(ModelTagManager, self).__init__() self.tag_model = tag_model - + def get_query_set(self): content_type = ContentType.objects.get_for_model(self.model) return self.tag_model.objects.filter( items__content_type__pk=content_type.pk).distinct() - + def related(self, tags, *args, **kwargs): return self.tag_model.objects.related_for_model(tags, self.model, *args, **kwargs) - + def usage(self, *args, **kwargs): return self.tag_model.objects.usage_for_model(self.model, *args, **kwargs) @@ -35,11 +35,13 @@ class ModelTaggedItemManager(models.Manager): super(ModelTaggedItemManager, self).__init__() self.intermediary_table_model = tag_model.objects.intermediary_table_model - def related_to(self, obj, queryset=None, num=None): + def related_to(self, obj, queryset=None, num=None, ignore_by_tag=None): if queryset is None: - return self.intermediary_table_model.objects.get_related(obj, self.model, num=num) + return self.intermediary_table_model.objects.get_related( + obj, self.model, num=num, ignore_by_tag=ignore_by_tag) else: - return self.intermediary_table_model.objects.get_related(obj, queryset, num=num) + return self.intermediary_table_model.objects.get_related( + obj, queryset, num=num, ignore_by_tag=ignore_by_tag) def with_all(self, tags, queryset=None): if queryset is None: @@ -62,7 +64,7 @@ class TagDescriptor(object): """ def __init__(self, tag_model): self.tag_model = tag_model - + def __get__(self, instance, owner): if not instance: tag_manager = ModelTagManager(self.tag_model)