如何扩展django-comments模型

时间:2014-10-23 21:55:44

标签: python django extend

(抱歉我的英语不好,我是一个破旧的法语)

我尝试扩展django评论框架以添加喜欢/不喜欢的系统。 阅读the documentation后,我已将此添加到 model.py

from django.contrib.comments.models import Comment

class Commentslikes(Comment):
    positif = models.IntegerField(default=0)
    negatif = models.IntegerField(default=0)

启动命令python manage.py syncdb后,django创建了 commentslikes mysql表,其中包含3个cols: comment_ptr_id positif ,< em> negatif 。没关系。

在我的 view.py 文件中,我已使用以下内容覆盖评论帖子视图:

   def custom_comment_post(request, next=None, using=None):

        #Post the comment and get the response
        response = contrib_comments.post_comment(request, next, using)

        if type(response) == HttpResponseRedirect:
           redirect_path, comment_id = response.get('Location').split( '?c=' )
           if comment_id:
                comment = Comment.objects.get( id=comment_id )
                if comment:

               #For test, i try to add 20 positif likes, 10 dislikes and edit the comment with 'foo'
                comment.positif = 20
                comment.negatif = 10
                comment.comment = 'foo'
                comment.save()
                return HttpResponseRedirect( redirect_path + "#c" + comment_id)
       return response

然后我发布了测试评论。评论已被“foo”修改为&#39; foo&#39;但是 commentslikes 表中没有添加任何行,其中id为comment,positif为20,negatif为10.而 commentslikes

我忘了或做过什么?

谢谢, 托马斯

1 个答案:

答案 0 :(得分:0)

Bonjour Thomas,

你已经扩大了对Commentslikes的评论,所以你可能想在你看来使用那个类“Commentslikes”;不是“评论”。

附注:

  • 通常最好避免使用Model类名中的复数,最好使用camel case。
  • 你可以改用构图。