2008-08-26 06:14:22 +08:00
|
|
|
from django.db import models
|
|
|
|
from django.contrib.contenttypes.models import ContentType
|
2012-07-21 16:00:10 +08:00
|
|
|
from django.utils.encoding import force_text
|
2008-08-26 06:14:22 +08:00
|
|
|
|
|
|
|
class CommentManager(models.Manager):
|
|
|
|
|
|
|
|
def in_moderation(self):
|
|
|
|
"""
|
|
|
|
QuerySet for all comments currently in the moderation queue.
|
|
|
|
"""
|
2013-03-08 22:15:23 +08:00
|
|
|
return self.get_queryset().filter(is_public=False, is_removed=False)
|
2008-08-26 06:14:22 +08:00
|
|
|
|
|
|
|
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)
|
2013-03-08 22:15:23 +08:00
|
|
|
qs = self.get_queryset().filter(content_type=ct)
|
2008-08-26 06:14:22 +08:00
|
|
|
if isinstance(model, models.Model):
|
2012-07-21 16:00:10 +08:00
|
|
|
qs = qs.filter(object_pk=force_text(model._get_pk_val()))
|
2008-08-26 06:14:22 +08:00
|
|
|
return qs
|