Найти - Пользователи
Полная версия: Связь с разными таблицами!!!
Начало » Django » Связь с разными таблицами!!!
1
avdoshkin
Всем привет!
Есть небольшой фрагмент кода:
class IpNetwork(models.Model):
vlan_name = models.CharField(max_length=7, verbose_name="Input name_vlan")
ip_gw = models.IPAddressField(verbose_name="Gateway IP")
mask = models.IPAddressField(verbose_name="Mask network")
network = models.IPAddressField(verbose_name="Network")
nat = models.IPAddressField(blank=True,null=True,verbose_name="IP address nat")
gen_dhcp = models.IntegerField(choices=((0,'Deny'),(1,'Access')),default="1",verbose_name="Include dhcp.conf")
desc = models.CharField(blank=True,null=True,max_length=100,default="",verbose_name="descriptions network")
routers = models.IPAddressField(blank=True,null=True)

def __unicode__(self):
return '%s' % (self.vlan_name)

class AddClient(models.Model):
uname = models.CharField(max_length=50,verbose_name="Input login")
mac = models.CharField(max_length=17,verbose_name="Input mac")
ip = models.IPAddressField()
vlan_id = models.ForeignKey(IpNetwork, verbose_name="Select vlan")
is_deleted = models.BooleanField('deleted', default=False)

def __unicode__(self):
return '%s\t%s\t%s' % (self.uname, self.ip, self.mac)
Задача для себя с подсказкой вашей, получается когда я создаю нового AddClient я выбираю vlan_id связь IP+VLAN но VLAN я указываю в ручную, а необходимо когда я ввожу нового клиента с IP адресом 10.1.11.1 если в class IpNetwork есть сеть 10.1.11.0 то тогда автоматом подставить vlan_id. Вроде как то так.
Чел_вТапКах
попробуй в модели сделать выборку из Ipnetwork что то вроде
Ipnetwork.objects.get(Network = mynet)
и этот объект и передать в vlan_id
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB