Я пытаюсь упорядочить результаты своего поиска по дате публикации, где фильтр предлагает два варианта: упорядочить по наименьшему первому или по последнему последнему. Это фильтр, который я создал до сих пор, чтобы сделать это: filters.py
class PubFilters(django_filters.FilterSet):
CHOICES = (
('Fecha', 'Más reciente'),
('Fecha', 'Menos reciente' )
)
ordering = django_filters.ChoiceFilter(label="Ordenar por", choices=CHOICES)
class Meta:
model = publicaciones
fields = ['Precio', 'Categoría']
Однако это возвращает "Не удается разрешить ключевое слово" порядок " в поле ". И что еще хуже: поскольку я заменил результаты для отфильтрованных результатов (как вы можете видеть ниже), моя разбивка на страницы неожиданно прервалась, я вижу цифры, но paginate_by
не работает.
views.py
class PostListView(ListView):
model = publicaciones
template_name = 'store/search.html'
context_object_name = 'queryset'
ordering = ['Promocionado']
paginate_by = 2
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
MyFilter = PubFilters(self.request.GET, queryset=self.get_queryset())
context['filter'] = MyFilter
context['filtered_items'] = MyFilter.qs
context['count'] = self.get_queryset().count()
context['búsqueda'] = self.request.GET.get('q')
return context
def get_queryset(self):
qs = self.model.objects.all().order_by('id')
search = self.request.GET.get('q')
if search:
qs = qs.filter(Título__icontains=search)
return qs
Как правильно отобразить фильтр для "даты заказа"? Заранее спасибо!