Невозможно преобразовать функцию в класс в Django

Простите за мое плохое знание классов в Django, я написал свой первый учебный проект через функции и теперь не могу понять, как преобразовать некоторые функции в классы.

У меня была такая функция, которая работает:

@login_required
def topic(request, topic_slug):
    """Выводит одну тему и все её записи."""
    topic = get_object_or_404(Topic, slug=topic_slug)
    Проверка того, что тема принадлежит текущему пользователю
    check_topic_owner(topic.owner, request)

    entries = topic.entry_set.order_by('-date_added')
    context = {'topic': topic, 'entries': entries}
    return render(request, 'learning_logs/topic.html', context)

Теперь не могу преобразовать его в Class для той же работы. У меня есть следующее:

    class ShowTopic(DetailView):
    model = Topic
    template_name = 'learning_logs/topic.html'
    context_object_name = 'topic'
    slug_url_kwarg = 'topic_slug'

    def get_queryset(self):
        return Topic.objects.filter(topic__slug=self.kwargs['topic_slug'])

Для ведения журнала требуется, я знаю, что должен добавить миксин позже, но сейчас у меня ошибка: Cannot resolve keyword 'topic' into field. Варианты: date_added, entry, id, owner, owner_id, public, slug, text. И не могу понять, как я могу вставить сюда записи? Не мог бы кто-нибудь дать мне совет, пожалуйста? Заранее спасибо.

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