我有使用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
host_queryset = Host.objects.filter(group__org_name__org_name='Y')
有关详细信息和示例,请参阅official django doc