我有一個models.py文件看起來像這樣:插入查詢集成果轉化爲ManytoManyfield
from django.db import models
from common.models import Record
from tinymce import models as tinymce_models
# Create your models here.
class Address(Record):
def __unicode__(self):
return unicode(self.ip)
ip = models.IPAddressField(unique=True)
notes = models.TextField(blank=True)
class Meta:
verbose_name_plural = "Addresses"
class Servers(models.Model):
def __unicode__(self):
return unicode(self.server_name)
server_name = models.CharField(max_length=100)
ip_address = models.ForeignKey(Address)
secondary_ips = models.ManyToManyField(Address, verbose_name = 'Secondary IPs', blank=True, related_name='secondary_ips')
class Meta:
verbose_name_plural = "Servers"
我有IP的和服務器系統的列表。我試圖讓ManytoManyField只顯示當前沒有與服務器關聯的IP列表。
我有以下查詢集:
inner_qs = Servers.objects.values_list('ip_address_id', flat=True)
entries = Address.objects.exclude(id__in=inner_qs)
它只返回那些未在Server表中的IP地址。我不知道如何將這些結果合併到我的ManytoManyField中,以及我應該放置查詢集的位置。我目前只得到了結果,當我進入Django的殼牌
任何想法,
感謝
什麼是你想用做ips沒有連接到服務器? – dm03514 2012-08-17 17:01:50
我想讓這些IP在我的admin.py文件中的filter_horizontal =('secondary_ips')中顯示。那些應該是我可以選擇的唯一IP。相反,它列出了我的地址表中的所有IP地址。 – user1607158 2012-08-17 19:23:54