Django 反向 ORM 连接查询
Django reverse ORM join queries
我想要我的 (MovieMaster table) 中存在 (SetMovie table) 的所有行。这些是我的模型
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 * 来自 MovieMaster INNER JOIN SetMovie ON MovieMaster.id = SetMovie.id)。我是新来的。我可以使用
获取 MovieMaster 的所有 SetMovie 行
models.SetMovie.objects.select_related('active')
但我无法获取 SetMovie table 的 MovieMaster table 的所有值。
MovieMaster.objects.filter(setmovie__isnull=False)
我想要我的 (MovieMaster table) 中存在 (SetMovie table) 的所有行。这些是我的模型
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 * 来自 MovieMaster INNER JOIN SetMovie ON MovieMaster.id = SetMovie.id)。我是新来的。我可以使用
获取 MovieMaster 的所有 SetMovie 行 models.SetMovie.objects.select_related('active')
但我无法获取 SetMovie table 的 MovieMaster table 的所有值。
MovieMaster.objects.filter(setmovie__isnull=False)