Кроме того, страница user_profile должна включать все сообщения, созданные пользователем соответствующего пользователя в качестве новых записей в блоге.
Однако эти сообщения должны фильтроваться с помощью приложения «django-filter» и иметь постраничную разбивку. На данный момент у меня возникли трудности с разбивкой на страницы отфильтрованных сообщений. Итак, мой вопрос: как добиться последнего?
До сих пор я использовал следующий подход:
filters.py
Код: Выделить всё
import django_filters
class AccountPostFilter(django_filters.FilterSet):
title = django_filters.CharFilter(lookup_expr='icontains')
category = django_filters.ChoiceFilter(choices=cat_list)
class Meta:
model = Post
fields = ['title', 'category']
Код: Выделить всё
class UserProfile(DetailView, MultipleObjectMixin):
model = Account
template_name = 'account/user_profile.html'
paginate_by = 5
def get_context_data(self, **kwargs):
posts = Post.objects.all().filter(author=self.kwargs['pk'])
context = super().get_context_data(object_list=posts, **kwargs)
context['filterset'] = AccountPostFilter(self.request.GET, queryset=posts)
return context
Дэниел
Подробнее здесь: https://stackoverflow.com/questions/719 ... pagination
Мобильная версия