app/django/contrib/comments/managers.py
author Sverre Rabbelier <sverre@rabbelier.nl>
Sun, 24 May 2009 21:40:37 +0200
changeset 2333 221482a54238
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
First step in the module design The new module design allows modules to be registered by adding them to settings.MODULES. Currently modules cannot do a lot (they can register with the sidebar and the sitemap), but the structure is in place.

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