Я реализовал фильтр, используя стороннюю платформу django-filters, но хочу запустить фильтр для уже отфильтрованного набора, который выдавал ошибки.
class BlogView(ListView):
template_name="blog/blog.html"
model = Post
# def get_queryset(self):
# return Post.objects.filter(posted_date__lte=timezone.now()).order_by("-posted_date")[:25]
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['filter'] = PostFilter(self.request.GET, queryset=self.get_queryset())
return context
мой взгляд ^ мой фильтр v
class PostFilter(django_filters.FilterSet):
class Meta:
model = Post
fields = ["title"]
Мой блог должен иметь возможность планировать посты в будущем, то есть, когда я их отображаю, я фильтрую посты по posted_date__lte=timezone.now()
, однако это вызывает проблемы, когда я тогда использую фильтр.потому что я не могу отфильтровать уже сращенный объект.Я прочитал и понял, что проблема заключается в том, как работает база данных, поэтому я ищу альтернативный способ создания только тех сообщений, которые posted_date__lte=timezone.now()
показывают, без использования закомментированного в данный момент def get_queryset
фильтра, который я ранее использовал.
edit * возможно в строке: context['filter'] = PostFilter(self.request.GET, queryset=SOMETHINGHERE())
я могу каким-то образом добавить фильтр в ЧТО-ТО?