Python 如何通过django中多对多关系中另一个表的id访问表记录?
这是我的模型:Python 如何通过django中多对多关系中另一个表的id访问表记录?,python,django,database,python-3.x,django-models,Python,Django,Database,Python 3.x,Django Models,这是我的模型: 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,
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
每部电影可能有多种类型。如果要访问与电影实例关联的所有类型,
使用
电影信息体裁.all()
。如果要访问体裁
请使用
def信息(请求,id):
movie\u info=movie.objects.get(id=id)
genre\u eng\u queryset=movie\u info.genre.all()
流派电影价值观=电影信息。流派电影价值观列表('流派电影',平面=真)
返回呈现(请求'info.html',
{'movie\u info':movie\u info,'genre\u eng\u queryset':genre\u eng\u queryset,'genre\u eng\u values':genre\u eng\u values})
谢谢JPG。我如何在模板中检索它们?我需要一个for循环吗?是的,两者都是列表对象
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})