查询Django的ORM与外键的字段

问题描述 投票:1回答:1

我有使用Django ORM查询,以获取特定信息的问题。我有三个型号都通过外键联系在一起,这些都是主机,团体和组织。因此,每个主机属于一个组,这些组属于一个组织。我需要查询集属于一个名为“Y”例如特定组织的所有主机。下面是我的model.py,任何人可以帮助我制定一个查询集将实现这一目标?或点我在正确的方向算出这个?

主机

class Host(models.Model):
host_name = models.CharField(max_length=120, blank=False, unique=True)
url = models.CharField(max_length=120, blank=False, unique=True)
group = models.ForeignKey(Group, on_delete=models.CASCADE)
slug = models.SlugField(blank=True, null=True)

def __str__(self):
    return self.host_name

class Group(models.Model):
org_name = models.ForeignKey(Organization, on_delete=models.CASCADE)
group_name = models.CharField(max_length=120, blank=False, unique=True)


def __str__(self):
    return self.group_name

组织

class Organization(models.Model):
org_name = models.CharField(max_length=120, blank=False, unique=True)
org_code = models.CharField(max_length=120, blank=False, unique=True, default=GenerateOrganozationCode)

def __str__(self):
    return self.org_name
django
1个回答
1
投票
host_queryset = Host.objects.filter(group__org_name__org_name='Y')

有关详细信息和示例,请参阅official django doc

© www.soinside.com 2019 - 2024. All rights reserved.