Serotonin Storm

source>mptt_comments>models.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import datetime
import mptt

from django.db import models
from django.conf import settings
from django.contrib.comments.models import Comment
from django.contrib.comments.managers import CommentManager

class MpttCommentManager(CommentManager):
    
    def get_root_comment(self, ctype, object_pk):
        root_comment, uorc = self.model.objects.get_or_create(
            parent=None,
            content_type=ctype,
            object_pk=unicode(object_pk),
            defaults={
                'comment': 'Root comment placeholder',
                'user_name': 'Noname',
                'user_email': 'no@user.no',
                'user_url': '',
                'submit_date': datetime.datetime.now(),
                'site_id': settings.SITE_ID
            })
            
        return root_comment

class MpttComment(Comment):
    title = models.CharField(max_length=60)
    parent = models.ForeignKey('self', related_name='children', blank=True, null=True)
    
    class Meta:
        ordering = ('tree_id', 'lft')

    objects = MpttCommentManager()

mptt.register(MpttComment)