2012-01-28 4 views
2

Я вытягиваю свои волосы из-за этого и не могу понять, что происходит.Django get_comment_list возвращает пустой список

На мой взгляд, я могу это сделать:

from django.contrib.comments import Comment 

... 
context['comments'] = Comment.objects.filter(object_pk = self.kwargs['pk']) 

... 

Тогда в моем шаблоне, когда я делаю:

{% for comment in comments %} 
{{ comment.comment }} 
{% endfor %} 

Он отлично работает и отображает каждый комментарий ...

Однако когда Я пытаюсь использовать теги шаблона django для комментариев. Я получаю пустой список.

{% load comments %} 
{% get_comment_list for video as comments %} 
{% for comment in comments %} 
{{ comment.comment }} 
{% endfor %} 
{{ comment_list|length }} // displays '0' 

видео в приведенном выше коде экземпляр объекта в контексте шаблона - я использую его в другом месте в шаблоне, и она отлично работает - то есть {{video.title}}, {{}} video.id

также - теги другой комментарий шаблон, кажется, работает хорошо:

{% render_comment_list video %} 

отображает шаблон теста я расположен на комментарии/list.html - этот шаблон просто печатает «привет мир».

Любая идея, что здесь происходит или как ее отладить?

ответ

0

Только предположение, но, когда вы делаете это:

Comment.objects.filter(object_pk = self.kwargs['pk']) 

в представлении, вы не указывая content_type (Видео) за комментарии, которые вы хотите получить, так что вы извлекаете все комментарии для любой объект с идентификатором «pk» - возможно, поэтому вы видите комментарии, когда делаете это вручную, но нет, когда вы оставляете его до тега шаблона. Возможно, комментарии не привязаны к правильному ContentType - вы можете проверить это в администраторе django