【发布时间】:2019-05-19 22:37:55
【问题描述】:
如何根据在列表页面上选择的 pk 在详细信息页面中显示电影所属的类别:多对多关系。我正在寻找一种使用 prefetch_related 来完成此任务的方法。任何其他方式也可以。
models.py
class Movie(models.Model):
title = models.CharField(max_length=70)
description = models.TextField(max_length=500)
class Category(models.Model):
name = models.CharField(max_length=70)
movie = models.ManyToManyField(Movie, related_name='categories')
views.py
class MovieListView(ListView):
model = Movie
context_object_name = 'movies'
template_name = 'snippets/index.html'
def get_queryset(self):
return Movie.objects.all()
class MovieDetailView(DetailView):
model = Movie
template_name = 'snippets/detail.html'
任何帮助将不胜感激。
【问题讨论】:
-
您的 get_context_data 方法毫无意义。 DetailView 已经为您获取了对象,这就是重点。
标签: python django django-queryset python-3.6 django-class-based-views