app/django/contrib/comments/managers.py
author Lennard de Rijk <ljvderijk@gmail.com>
Mon, 08 Jun 2009 22:28:17 +0200
changeset 2410 cb136ce6c8d1
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Temporary fix for Issue 636 by turning off the caching of the page's entities. This also means that pagination is turned back on because querying all 1000 projects every time will take too long.

from django.db import models
from django.dispatch import dispatcher
from django.contrib.contenttypes.models import ContentType
from django.utils.encoding import force_unicode

class CommentManager(models.Manager):

    def in_moderation(self):
        """
        QuerySet for all comments currently in the moderation queue.
        """
        return self.get_query_set().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_query_set().filter(content_type=ct)
        if isinstance(model, models.Model):
            qs = qs.filter(object_pk=force_unicode(model._get_pk_val()))
        return qs