rendered paste body$ cat models.py
from django.db import models
# Create your models here.
class Type(models.Model):
abbr = models.CharField(max_length=255)
name = models.CharField(max_length=255)
class Meta:
pass
class Admin:
pass
def __str__(self):
return self.name
class Status(models.Model):
name = models.CharField(max_length=255)
class Meta:
verbose_name_plural = 'Status'
class Admin:
pass
def __str__(self):
return self.name
class Model(models.Model):
name = models.CharField(max_length=255)
class Meta:
pass
class Admin:
pass
def __str__(self):
return self.name
class Site(models.Model):
abbr = models.CharField(max_length=255)
name = models.CharField(max_length=255)
class Meta:
pass
class Admin:
pass
def __str__(self):
return self.name
class Os(models.Model):
name = models.CharField(max_length=255)
class Meta:
pass
class Admin:
pass
def __str__(self):
return self.name
class Product(models.Model):
abbr = models.CharField(max_length=255)
name = models.CharField(max_length=255)
class Meta:
pass
class Admin:
pass
def __str__(self):
return self.name
class Device(models.Model):
name = models.CharField("Device Name", max_length=255)
model = models.ForeignKey(Model, null=True, blank=True)
os = models.ForeignKey(Os, null=True, blank=True)
product = models.ForeignKey(Product, null=True, blank=True)
type = models.ForeignKey(Type, null=True, blank=True)
site = models.ForeignKey(Site, null=True, blank=True)
status = models.ForeignKey(Status, null=True, blank=True)
default_gw = models.IPAddressField("Default Gateway", null=True, blank=True)
mngmnt_gw = models.IPAddressField("Managment Gateway", null=True, blank=True)
ntp_server = models.IPAddressField("NTP Server", null=True, blank=True)
syslog_pri = models.IPAddressField("Primary Syslog", null=True, blank=True)
syslog_sec = models.IPAddressField("Secondary Syslog", null=True, blank=True)
nagios_dm = models.CharField("Nagios DM", max_length=255, blank=True)
unit_height = models.PositiveIntegerField("Unit Height", default=1, blank=True)
rack_num = models.PositiveIntegerField("Rack Number", null=True, blank=True)
row_num = models.PositiveIntegerField("Row Number", null=True, blank=True)
serial = models.CharField(max_length=255, blank=True)
barcode = models.CharField(max_length=255, blank=True)
static_route1 = models.CharField(max_length=255, blank=True)
class Meta:
pass
class Admin:
list_display = ('name','product','site','type','model','os','default_gw','mngmnt_gw','ntp_server','status')
list_filter = ('product','type','site','model','os','status','nagios_dm')
search_fields = ['name','model__name','os__name','product__name','product__abbr','type__name','type__abbr',
'site__abbr','site__name','status__name','default_gw','mngmnt_gw','ntp_server','syslog_pri',
'syslog_sec','rack_num','serial','barcode']
fields = (
(None, {
'fields': ('name','model','os','product','type','site','default_gw','mngmnt_gw','ntp_server',
'syslog_pri','syslog_sec','nagios_dm','status','static_route1'),
'classes': 'wide'
}),
('Asset Information', {
'classes': 'collapse wide',
'fields': ('unit_height','rack_num','row_num','serial','barcode')
}),
)
def __str__(self):
return self.name
class Interface(models.Model):
name = models.CharField("Network Interface", max_length=20, core=True, blank=True)
ip = models.IPAddressField("IP Address", blank=True)
netmask = models.IPAddressField(blank=True)
macaddress = models.CharField(max_length=40, blank=True)
speed = models.IntegerField(null=True, blank=True)
duplex = models.CharField(max_length=4, blank=True)
mtu = models.IntegerField(null=True, blank=True)
device = models.ForeignKey(Device, edit_inline=models.TABULAR, num_in_admin=3)
class Meta:
pass
def __str__(self):
return '%s' % (self.ip)