Я использую профили django и django.contrib.comments и пытаюсь отобразить все комментарии для определенного пользователя в своем профиле.
Используется стандартное представление profile_detail из профилей django.
Я пробовал эти два подхода, и ни один из них не возвращает никаких объектов (хотя объекты, соответствующие этому запросу, существуют):
{% for comment in profile.user.comment_set.all %}
и
{% for comment in profile.user.user_comments.all %}
В исходном коде для django.contrib.comments внешний ключ для пользователя в модели Comment имеет следующее связанное имя:
user = models.ForeignKey(User, verbose_name=_('user'),
blank=True, null=True, related_name="%(class)s_comments")
В комментариях также есть собственный менеджер:
# Manager
objects = CommentManager()
Что определяется как:
class CommentManager(models.Manager):
def in_moderation(self):
"""
QuerySet for all comments currently in the moderation queue.
"""
return self.get_query_set().filter(is_public=False, is_removed=False)
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)
qs = self.get_query_set().filter(content_type=ct)
if isinstance(model, models.Model):
qs = qs.filter(object_pk=force_unicode(model._get_pk_val()))
return qs
Является ли пользовательский менеджер причиной того, что запрос .all ничего не возвращает? Правильно ли я обращаюсь к обратному отношению? Любая помощь будет оценена.