Поиск альтернативного способа фильтрации моих объектов перед использованием класса django-filters - PullRequest
1 голос
/ 25 сентября 2019

Я реализовал фильтр, используя стороннюю платформу 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()) я могу каким-то образом добавить фильтр в ЧТО-ТО?

...