【问题标题】:How i can show list of objects that have no related object?我如何显示没有相关对象的对象列表?
【发布时间】:2013-02-21 18:06:06
【问题描述】:

我对 django 查询有疑问。我是新的 django 程序员。

我有三个模型:

class Device(models.Model):
    class Meta:
         ordering = ('dev',)
         verbose_name = _(u'Interface')

    dev = models.CharField(_(u'Interface'), max_length=5, editable=True,
          unique=True)
    enable = models.BooleanField(_(u'Enabled'), default=True)
    dhcp = models.BooleanField(_(u'DHCP'), default=False,

第二个模型:

class Config(models.Model):
    class Meta:
       ordering = ('ip_address',)
       verbose_name = _(u'Network Configuration')
       verbose_name_plural = _(u'Network Configurations')

   device = models.ForeignKey(Device)
   ip_address = models.IPAddressField(_(u'IP Address'), unique=True)
   netmask = NetmaskAddressField(_(u'Netmask'))
   description = models.CharField(_(u'Description'), blank=True, null=True,
       max_length=255)

第三个模型:

 class Dhcp(models.Model):

    class Meta:
       ordering = ('gateway',)
       verbose_name = _(u'DHCP Configuration')
       verbose_name_plural = _(u'DHCP Configurations')

   config = models.ForeignKey(Config)
   gateway = models.IPAddressField(_(u'Gateway'), null=True)
   dns_primary = models.IPAddressField(_(u'DNS Primary'), null=True)
   dns_second = models.IPAddressField(_(u'DNS Second'), blank=True)
   leases_time = models.IntegerField()
   nat = models.IPAddressField(_(u'NAT'), blank=True)
   max_time = models.IntegerField()

现在,我的问题是:如何显示没有 Dhcp 配置的设备列表?

例如:我有Device,它具有三种配置。我需要检查 Device 的所有配置,以确保没有 DHCP 配置,最后显示设备,但我不知道该怎么做。

【问题讨论】:

    标签: django django-models django-queryset


    【解决方案1】:
    Device.objects.filter(config__dhcp__isnull=True)
    

    更多关于查询here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-20
      • 1970-01-01
      • 2020-08-24
      • 2018-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      相关资源
      最近更新 更多