我正试图从两个模型中写出一个内部连接,但我夹在中间了。你知道吗
我的型号.py页面为:
class MovieDetails(models.Model):
moviename = models.CharField(max_length=200)
movieid = models.CharField(primary_key=True, max_length=20)
def __str__(self):
return self.movieid
class TheaterBase(models.Model):
theatername = models.CharField(max_length=500)
theaterid = models.CharField(primary_key=True, max_length=20)
def __str__(self):
return self.theaterid
class MovieActiveDays(models.Model):
moviedetails = models.ForeignKey(MovieDetails, on_delete=models.CASCADE)
theaterbase = models.ForeignKey(TheaterBase, on_delete=models.CASCADE)
activedayid = models.CharField(primary_key=True, max_length=20)
def __str__(self):
return self.activedayid
在我的视图.py页面:
moviedetails_id = MovieActiveDays.objects.filter(theaterbase=theaterid, ).values('moviedetails_id')
result= MovieDetails.objects.filter(movieid=moviedetails_id)
第一行根据影院过滤电影。 第二行将从数据库中获取多个行。 每当我试图将结果发送到html模板时,它只打印电影的详细信息id,而不打印电影的名称或内容。 如何打印moviedetails表的所有内容。你知道吗
提前谢谢
这里的结果是MovieDetails的对象,因此您可以
电影名称=结果.moviename你知道吗
基本原则是将它们作为对象处理,而不是作为数据库表处理。你需要电影的细节,所以从那开始。然后可以通过Django的双下划线语法来跟踪这些关系。所以:
我们可以通过认识到MovieActiveDays是电影细节和影院基础之间的一个多对多的直通表来改善这一点:
现在我们可以缩短查询时间:
Django会帮我们处理所有的事情。你知道吗
相关问题 更多 >
编程相关推荐