Как я могу фильтровать и подсчитывать объекты в шаблоне DJANGO? ⇐ Python

Программы на Python
Anonymous
Как я могу фильтровать и подсчитывать объекты в шаблоне DJANGO?

Сообщение Anonymous »

Я новичок в Django, моя проблема в том, что я хочу посчитать количество комментариев к посту и поместить это в html-шаблон.
Но дело в том, что я использую for для сбора все события в базе данных, но я просто хочу показать только количество комментариев, в которых есть каждое событие, отображаемое в поле "for".
Это мои модели, представления и шаблоны. .
Большое спасибо.
МОДЕЛИ

Код: Выделить всё

class Event(TimeStampModel):
name = models.CharField(max_length=200, unique=True)
slug = models.SlugField(editable=False)
summary = models.TextField(max_length=255)
content = models.TextField()
category = models.ForeignKey(Category)
place = models.CharField(max_length=50)
start = models.DateTimeField()
finish = models.DateTimeField()
image = models.ImageField(upload_to = 'eventos')
is_free = models.BooleanField(default=True)
amount = models.DecimalField(max_digits=6, decimal_places=0, default=0)
views = models.PositiveIntegerField(default=0)
organizer = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True)

def save(self, *args, **kwargs):
if not self.id:
self.slug = slugify(self.name)
super(Event, self).save(*args, **kwargs)

def __unicode__(self):
return self.name

class Comments(TimeStampModel):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
event = models.ForeignKey(Event)
content = models.TextField()

def __unicode__(self):
return "%s %s" % (self.user.username, self.event.name)
ПРОСМОТР

Код: Выделить всё

class IndexView(TemplateView):
template_name = 'eventos/index.html'
def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
context['events'] = Event.objects.all().order_by('-created')[:6]
context['categories'] = Category.objects.all()
context['comments'] = Comments.objects.all()
return context
HTML-ШАБЛОН

Код: Выделить всё

{% for event in events %}
[*]

{{ event.name }}
[i]

[url=#]{{ event.category }} [/url]

[/i] {{ event.start }}
[i][/i] [url=#]{{ event.organizer }}[/url]
[url=#][i][/i]  comments[/url]


{{ event.place }}
[url=#]Leer mas..[/url]



{% endfor %}
Я хочу показать это только в той части HTML, где указаны комментарии. с тегом конечно, но я просто не знаю какой тег и как это сделать.

Подробнее здесь: https://stackoverflow.com/questions/408 ... o-template

Вернуться в «Python»