Django get_object() вызывается много раз

У меня есть модель - Article, и этот фрагмент кода

class ArticleDetailView(HitCountDetailView):
    model = Article
    # some code...
    
    def get_object(self):
        article = super(ArticleDetailView, self).get_object()
        slug = self.kwargs['slug']
        article = get_object_or_404(Article, slug=slug)
        
        print(article.some_count.counts)
        
        return article

this code is line printing the value of article.some_count_counts 3 times, it means the function get_object() is getting called 3 times.

Но почему так? вот в чем мой вопрос.

Просто удалите метод get_object().

Django DetailView сам может получить объекты с полем slug.
Поэтому повторный вызов этой функции является излишним.

поддерживающий документ:
https://docs.djangoproject.com/en/3.2/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.slug_url_kwarg

Вернуться на верх