Общие представления Django: как назначить новое свойство?

Я новичок в Python и пытаюсь понять общие представления Django 1.3 на основе классов. Правильно теперь у меня есть следующее представление, которое получает список объектов Location в категории:

class category_detail(ListView):
    """Return a generic view of locations in a category."""

    def get_context_data(self, **kwargs):
        # Call the base implementation first to get a context.
        context = super(category_detail, self).get_context_data(**kwargs)
        # Add the current category to the context.
        category = get_object_or_404(Category, slug=self.kwargs['slug'])
        context['category'] = category
        return context

    def get_queryset(self):
        category = get_object_or_404(Category, slug=self.kwargs['slug'])
        return Location.objects.filter(category=category)

Он делает то, что я хочу, но вы можете видеть, что я повторяюсь, определяя категориюдважды Есть ли способ добавить в класс новое свойство с именем category, которое я определяю один раз вверху, а затем просто ссылаюсь на self.categoryв get_queryset() и get_context_data()?

0
задан Gareth Rees 15 March 2012 в 20:43
поделиться