1
我想要遍历一对多关系以有效地从父表中选择所有记录,假设子表中存在某些内容。从父表中选择所有记录假设子项中存在的东西
从models.py
class Meter(models.Model):
deal = models.ForeignKey(Deal, on_delete=models.CASCADE)
company = models.IntegerField()
class Deal(models.Model):
dealinfo = models.IntegerField()
英语,选择所有具有公司#米交易的2
在SQL:
select * from Deal
where Deal.id in
(
select distinct Deal_id
from Meter
where Meter.company = 2
);
我不知道如何没有两个查询来做到这一点。我甚至想不出一种解决方案的好方法。
我尝试这样做: 结果= Deal.objects.filter(meter__company = 2) ,我发现在这里: How do you access parent and children relationships through the ORM with a conditional on the parent where record child exist?但它是一个内部联接,并没有实现“唯一”这句话,所以我得到的多条记录。
感谢迎刃而解!令人惊讶的简洁明了。我感谢您的帮助。 – Jonathan