Как перенаправить на условиях с представлениями на основе классов в Django 1.3?

Я использую ListView, который выводит список видео по тегам. Фильтрация происходит в get_queryset (). Я хочу перенаправить пользователя на другую страницу, если тег не t содержит любое видео.

С функцией было бы легко. Запрос, проверка набора запросов, перенаправление. С классом мне это не удается:

class VideosView(generic.ListView):

    def get_queryset(self):
        """
            This work.
        """

        tag = self.kwargs.get('tag', None)

        self.videos = Video.on_site.all()

        if tag:
            self.videos = Video.tagged.with_all(tag, self.videos)

        return self.videos

    def get(self, request, *args, **kwargs):
        """
        This doesn't work because self.videos doesn't exist yet.
        """
        if not self.videos:
            return redirect('other_page')

        return super(Videos, self).get(request, *args, **kwargs)
28
задан Danilo Bargen 20 May 2015 в 13:47
поделиться