2014-10-23 1 views
0

(Извините за мой плохой английский, я потертый французский)Как продлить Джанго-комментарии модель

Я стараюсь продлить Джанго комментарий рамки, чтобы добавить как/системы неприязнью. После чтения 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, Джанго создал commentslikes MySQL таблицу с 3 перевалами: comment_ptr_id, POSITIF , 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», но ни одна строка не была добавлена ​​в commentslikes таблица с идентификатором комментария, Positif на 20 и Negatif на 10. Не грести за комментарий был добавлен в commentslikes

I что-то забыли или что-то сделали?

Спасибо, Томас

+0

Bonjour! Чтобы сообщить об этом, я был с одним из основных участников Django на прошлой неделе, и он упомянул, что, вероятно, лучше не использовать комментарии Django, поскольку они, вероятно, будут устаревать. – FlipperPA

ответ

0

Bonjour Томас,

хорошо вы продлили комментарий с Commentslikes, так что вы, вероятно, хотите использовать этот класс «Commentslikes» с вашей точки зрения; без комментариев".

Боковые ноты:

  • обычно лучше избегать множественного числа в именах классов модели и лучше использовать верблюда дело.
  • Вы могли бы использовать композицию вместо этого.