django - 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 表的所有值。
解决方案
MovieMaster.objects.filter(setmovie__isnull=False)
推荐阅读
- mysql - Mysql Left Join 最后一条记录
- javascript - 将 Javascript 值提升一级 - 将 key:object:key 设为 object:key
- android - 在 Android 中删除和添加视图而不会丢失其属性
- python - Pandas 如何根据其他列有条件地拆分列?
- webrtc - Torrent P2P 共享和 WebRTC P2P 共享之间的区别?
- python - re.search() 和 re.findall() 挂起
- amazon-web-services - 将现有根卷附加到 ec2 现货实例
- excel - 更改不同工作簿的单元格
- angular - 在 Angular typings.d.ts 中定义多个模块的问题
- db2 - SQL CASE 表达式给出计算错误信息