我在使用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
答案 0 :(得分:1)
host_queryset = Host.objects.filter(group__org_name__org_name='Y')
有关更多详细信息和示例,请参阅official django doc