问题描述
这是我的模特:
class Movie(models.Model):
genre = models.ManyToManyField(Genre)
class Genre(models.Model):
genre_eng = models.CharField(max_length=200)
def __str__(self):
return "{}".format(self.genre_eng)
这是我的查看方法:
def info(request, id):
movie_info = Movie.objects.get(id=id)
return render(request,'info.html', {'movie_info': movie_info})
我已经可以在info.html
文件中打印出电影的名称了:
genre : {{movie_info.title}}
如何访问info.html
文件中的genre_eng
?
每部电影可能有多种类型。
1楼
如果要访问与Movie实例关联的所有流派 ,
使用movie_info.genre.all()
。
如果要访问genre_eng
使用
def info(request, id):
movie_info = Movie.objects.get(id=id)
genre_eng_queryset = movie_info.genre.all() genre_eng_values = movie_info.genre.values_list('genre_eng', flat=True)
return render(request, 'info.html',
{'movie_info': movie_info, 'genre_eng_queryset': genre_eng_queryset, 'genre_eng_values': genre_eng_values})