going production #21
[wolnelektury.git] / apps / newtagging / managers.py
index 1dbcb29..f802aa1 100644 (file)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 """
 Custom managers for Django models registered with the tagging
 application.
 """
 Custom managers for Django models registered with the tagging
 application.
@@ -13,15 +14,15 @@ class ModelTagManager(models.Manager):
     def __init__(self, tag_model):
         super(ModelTagManager, self).__init__()
         self.tag_model = tag_model
     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 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 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)
 
     def usage(self, *args, **kwargs):
         return self.tag_model.objects.usage_for_model(self.model, *args, **kwargs)
 
@@ -34,11 +35,13 @@ class ModelTaggedItemManager(models.Manager):
         super(ModelTaggedItemManager, self).__init__()
         self.intermediary_table_model = tag_model.objects.intermediary_table_model
 
         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:
         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:
         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:
 
     def with_all(self, tags, queryset=None):
         if queryset is None:
@@ -61,7 +64,7 @@ class TagDescriptor(object):
     """
     def __init__(self, tag_model):
         self.tag_model = tag_model
     """
     def __init__(self, tag_model):
         self.tag_model = tag_model
-    
+
     def __get__(self, instance, owner):
         if not instance:
             tag_manager = ModelTagManager(self.tag_model)
     def __get__(self, instance, owner):
         if not instance:
             tag_manager = ModelTagManager(self.tag_model)