def queryset(self, request, queryset):
        form = self.get_form(request)

        """
        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.
        """
        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)
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.