加入不在Django工作

时间:2016-12-05 14:14:11

标签: python django join django-models django-queryset

我试图从两个模型中编写内部联接,但我陷入其中。

我的 models.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

在我的 Views.py 页面中:

moviedetails_id = MovieActiveDays.objects.filter(theaterbase=theaterid, ).values('moviedetails_id')
result= MovieDetails.objects.filter(movieid=moviedetails_id)

第一行根据影院过滤电影。 第二行将从数据库中获取多于一行。 每当我尝试将结果发送到html 模板时,它只会打印moviedetails_id,但不会打印电影名称或其内容。 如何打印moviedetails表的所有内容。

提前致谢

1 个答案:

答案 0 :(得分:0)

这里结果是MovieDetails的对象,所以你可以得到

movie_name = result.movi​​ename