Я новичок в 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
дважды.Есть ли способ, которым я могу добавить новое свойство в класс с именем category
, который я определяю один раз в верхней части, а затем просто ссылаться на self.category
в get_queryset()
и get_context_data()
?