app/django/contrib/comments/managers.py
author Lennard de Rijk <ljvderijk@gmail.com>
Sun, 12 Jul 2009 16:01:41 +0200
changeset 2612 216002ba6b86
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Added view to GradingSurveyGroup to list all records for a specified group. This view will later be extended with options to start Tasks for collecting the data and processing it.

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