code: def queryset(self, request, queryset):
          form = self.get_form(request)
  
          
          self.form = form
  
          start_date = form.start_date()
          end_date = form.end_date()
  
          if form.is_valid() and (start_date or end_date):
              args = self.__get_filterargs(
                  start=start_date,
                  end=end_date,
              )
              return queryset.filter(**args)
docs: That's the trick - we create self.form when django tries to get our queryset.
          This allows to create unbount and bound form in the single place.