djang的ORM查询

2024-04-19 00:23:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我对django的ORM查询相当陌生。我有下面的sql从数据库中获取数据。你知道吗

Select * from  subnets_subnet as sb
left join subnets_subnetoption as sbo on sb.id = sbo.subnet_id 
left join options_value as ov on ov.id=sbo.value_id
left join options_option as oo on oo.id = ov.option_id
where oo.name='Customer'

如何连接三个多表,即使其中一个来自另一个django应用程序?ie选项\u值选项\u选项来自另一个应用程序。你知道吗

class Subnet(models.Model):
    parent = models.ForeignKey('self', blank=True, null=True, editable=False)
    base_address = MyGenericIPAddressField(protocol='IPv4', db_index=True)
    creation_date = models.DateTimeField(auto_now_add=True, editable=False)
    modification_date = models.DateTimeField(auto_now=True, editable=False)

    zone = models.ForeignKey('zones.SecurityZone')
    dns_authority = models.ForeignKey('dns.DnsAuthority')


class SubnetOption(models.Model):
    subnet = models.ForeignKey('Subnet')
    value = models.ForeignKey('options.Value')

class Option(models.Model):
    name = models.CharField(max_length=40)
    required = models.BooleanField(default=False)
    scope = models.ForeignKey('Scope')


class Value(models.Model):
    content = models.CharField(max_length=60)
    comment = models.CharField(max_length=80, blank=True, null=True)
    option = models.ForeignKey('Option')

Tags: idfalsetruemodelvalueonmodelsas