首页 > 解决方案 > Django 反向 ORM 连接查询

问题描述

我想要我的(MovieMaster 表)中存在(SetMovie 表)的所有行。这些是我的模型

 class MovieMaster(models.Model):
       m_name = models.CharField('Movie Name',max_length=50)
       m_desc = models.CharField('Movie Description', max_length=50)
       m_image = models.ImageField('Movie Image',upload_to="pics/")

       def get_absolute_url(self):
            return reverse("admin_side:addmovie")

       def __str__(self):
            return self.m_name


 class SetMovie(models.Model):
      active = models.ForeignKey(MovieMaster, on_delete=models.CASCADE)
      show = models.CharField('Show Time', max_length=50)
      start_time = models.DateField()
      end_time = models.DateField()

      def get_absolute_url(self):
           return reverse("admin_side:setmovie")

基本上我想执行这个 sql 查询(SELECT * from MovieMaster INNER JOIN SetMovie ON MovieMaster.id = SetMovie.id)。我对此很陌生。我可以通过使用获取 MovieMaster 的所有 SetMovie 行

  models.SetMovie.objects.select_related('active')

但我无法获取 SetMovie 表的 MovieMaster 表的所有值。

标签: djangodjango-modelsdjango-orm

解决方案


 MovieMaster.objects.filter(setmovie__isnull=False)

推荐阅读