summaryrefslogtreecommitdiff
path: root/app/django_comments/managers.py
diff options
context:
space:
mode:
Diffstat (limited to 'app/django_comments/managers.py')
-rw-r--r--app/django_comments/managers.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/django_comments/managers.py b/app/django_comments/managers.py
new file mode 100644
index 0000000..9e1fc77
--- /dev/null
+++ b/app/django_comments/managers.py
@@ -0,0 +1,22 @@
+from django.db import models
+from django.contrib.contenttypes.models import ContentType
+from django.utils.encoding import force_text
+
+
+class CommentManager(models.Manager):
+ def in_moderation(self):
+ """
+ QuerySet for all comments currently in the moderation queue.
+ """
+ return self.get_queryset().filter(is_public=False, is_removed=False)
+
+ def for_model(self, model):
+ """
+ QuerySet for all comments for a particular model (either an instance or
+ a class).
+ """
+ ct = ContentType.objects.get_for_model(model)
+ qs = self.get_queryset().filter(content_type=ct)
+ if isinstance(model, models.Model):
+ qs = qs.filter(object_pk=force_text(model._get_pk_val()))
+ return qs