All pastes #959095 Raw Edit

Mine

public text v1 · immutable
#959095 ·published 2008-03-27 03:32 UTC
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)