app/django/contrib/comments/managers.py
author Todd Larsen <tlarsen@google.com>
Wed, 15 Oct 2008 21:27:47 +0000
changeset 347 52676c696cd4
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
First phase of making the / (site/home) view generic enough to use it for Sponsor "home" page, Program "home" page, Organization "home" page, etc. when combined with HomeSettings. First phase of addressing this issue: http://code.google.com/p/soc/issues/detail?id=64 by factoring "Site Settings" apart from the site/home stuff. Patch by: Todd Larsen Review by: Pawel Solyga Review URL: http://codereviews.googleopensourceprograms.com/1405

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