Paginate detailview django
Мне нужно разбить на страницы category_detail, но этот view не имеет list_objects. У меня есть класс для DetailView, где мне нужно добавить Paginator. Или я могу сделать это только в html шаблоне, и все?
class Category(models.Model):
name = models.CharField(_('Name'), max_length=200)
slug = models.SlugField(_('Slug'), unique=True)
PARAMS = Choices(
('following', 'following'),
('price_to', 'price_to'),
('price_from', 'price_from'),
)
def count_of_products(self):
return self.pk.count()
def __str__(self):
return self.slug
def get_absolute_url(self, **kwargs):
return reverse('products:category_detail', kwargs={'category_slug': self.slug})
это мой views.py
class CategoryListView(ActiveTabMixin, ListView):
model = Category
active_tab = 'category_list'
template_name = 'products/category_list.html'
def get_ordered_grade_info(self):
return []
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['grade_info'] = self.get_ordered_grade_info()
return context
class CategoryDetailView(DetailView):
model = Category
slug_url_kwarg = 'category_slug'
PARAM_FOLLOWING = 'following'
PARAM_PRICE_FROM = 'price_from'
PARAM_PRICE_TO = 'price_to'
slug_field = 'slug'
По моему мнению, мне нужно сделать paginate def в CategoryDetailView, не так ли?
шаблон
{% extends "base.html" %}
{% block content %}
<h2>{{ category.name }}</h2>
<div class="list-group">
{% for product in category.products.all %}
<a href="{{ product.get_absolute_url }}" class="list-group-item">
<h4 class="list-group-item-heading">{{ product.name }}</h4>
<p class="list-group-item-text">{{ product.price }}$</p>
<p class="list-group-item-text">Likes {{ product.likes.count }}</p>
<p>
<img class='img-article' src="{{product.image.url}}">
</p>
</a>
{% endfor %}
</div>
{% endblock content %}