Используя общий вид на основе классов и модель книги с FK (автор), я могу вернуть только все книги или книги с фиксированным идентификатором.
Используя оболочку python, я могу получить значение Iпотребность, например,
b.all().filter(author=6)
>>> <QuerySet [<Book: bookA>, <Book: bookB]>
Однако я не могу перевести это через GCBV, используя контекст.Ниже, на запросе ниже, как я могу сказать ему фильтровать (для любого значения идентификатора автора этой страницы? Т.е. заменить фиксированное значение на динамическое.
Views.py
class AuthorDetailView(LoginRequiredMixin, generic.DetailView):
context_object_name = 'author'
queryset = Author.objects.all()
def get_context_data(self, **kwargs):
# call the base implementation first to get a context
context = super().get_context_data(**kwargs)
# add Queryset of All books
context['book_list'] = Book.objects.filter(author=4)
return context
На каждой странице автора должны быть показаны все связанные книги. Все примеры, которые я видел, не используют вместо этого идентификатор, имя. Или это представление на основе функций. Я хорошо использую FBV, если это единственный способ, но яЯ хотел бы знать, как использовать его в обоих случаях, поэтому я начал с GCBV.
Спасибо!