Невозможно преобразовать функцию в класс в 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. И не могу понять, как я могу вставить сюда записи? Не мог бы кто-нибудь дать мне совет, пожалуйста? Заранее спасибо.