app/django/contrib/comments/managers.py
author Lennard de Rijk <ljvderijk@gmail.com>
Wed, 12 Aug 2009 10:17:08 -0700
changeset 2761 a315c83b6d74
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Added basic GSoC module models. These models will be filled with GSoC specific entries once the transformation is complete.

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