summaryrefslogtreecommitdiff
path: root/app/lib/django_comments/managers.py
diff options
context:
space:
mode:
authorlxf <sng@luxagraf.net>2022-05-14 16:38:07 -0400
committerlxf <sng@luxagraf.net>2022-05-14 16:38:07 -0400
commitbb3973ffb714c932e9ec6dd6a751228dc71fe1d3 (patch)
tree6fa32f9392ad2ec32271349b86a4c1388fd6ba95 /app/lib/django_comments/managers.py
initial commit
Diffstat (limited to 'app/lib/django_comments/managers.py')
-rw-r--r--app/lib/django_comments/managers.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/lib/django_comments/managers.py b/app/lib/django_comments/managers.py
new file mode 100644
index 0000000..9e1fc77
--- /dev/null
+++ b/app/lib/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