fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
image listings / boxes work but need polishing. started coding the viewer.
[wolnelektury.git]
/
apps
/
newtagging
/
managers.py
diff --git
a/apps/newtagging/managers.py
b/apps/newtagging/managers.py
index
1dbcb29
..
f802aa1
100644
(file)
--- a/
apps/newtagging/managers.py
+++ b/
apps/newtagging/managers.py
@@
-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)