|
|
@@ -2,7 +2,6 @@ from django.contrib.contenttypes.fields import GenericRelation
|
|
|
from django.core.exceptions import ValidationError
|
|
|
from django.db import models
|
|
|
from django.urls import reverse
|
|
|
-from mptt.models import TreeForeignKey
|
|
|
from timezone_field import TimeZoneField
|
|
|
|
|
|
from dcim.choices import *
|
|
|
@@ -28,25 +27,6 @@ class Region(NestedGroupModel):
|
|
|
states, and/or cities. Regions are recursively nested into a hierarchy: all sites belonging to a child region are
|
|
|
also considered to be members of its parent and ancestor region(s).
|
|
|
"""
|
|
|
- parent = TreeForeignKey(
|
|
|
- to='self',
|
|
|
- on_delete=models.CASCADE,
|
|
|
- related_name='children',
|
|
|
- blank=True,
|
|
|
- null=True,
|
|
|
- db_index=True
|
|
|
- )
|
|
|
- name = models.CharField(
|
|
|
- max_length=100
|
|
|
- )
|
|
|
- slug = models.SlugField(
|
|
|
- max_length=100
|
|
|
- )
|
|
|
- description = models.CharField(
|
|
|
- max_length=200,
|
|
|
- blank=True
|
|
|
- )
|
|
|
-
|
|
|
# Generic relations
|
|
|
vlan_groups = GenericRelation(
|
|
|
to='ipam.VLANGroup',
|
|
|
@@ -102,25 +82,6 @@ class SiteGroup(NestedGroupModel):
|
|
|
within corporate sites you might distinguish between offices and data centers. Like regions, site groups can be
|
|
|
nested recursively to form a hierarchy.
|
|
|
"""
|
|
|
- parent = TreeForeignKey(
|
|
|
- to='self',
|
|
|
- on_delete=models.CASCADE,
|
|
|
- related_name='children',
|
|
|
- blank=True,
|
|
|
- null=True,
|
|
|
- db_index=True
|
|
|
- )
|
|
|
- name = models.CharField(
|
|
|
- max_length=100
|
|
|
- )
|
|
|
- slug = models.SlugField(
|
|
|
- max_length=100
|
|
|
- )
|
|
|
- description = models.CharField(
|
|
|
- max_length=200,
|
|
|
- blank=True
|
|
|
- )
|
|
|
-
|
|
|
# Generic relations
|
|
|
vlan_groups = GenericRelation(
|
|
|
to='ipam.VLANGroup',
|
|
|
@@ -298,25 +259,11 @@ class Location(NestedGroupModel):
|
|
|
A Location represents a subgroup of Racks and/or Devices within a Site. A Location may represent a building within a
|
|
|
site, or a room within a building, for example.
|
|
|
"""
|
|
|
- name = models.CharField(
|
|
|
- max_length=100
|
|
|
- )
|
|
|
- slug = models.SlugField(
|
|
|
- max_length=100
|
|
|
- )
|
|
|
site = models.ForeignKey(
|
|
|
to='dcim.Site',
|
|
|
on_delete=models.CASCADE,
|
|
|
related_name='locations'
|
|
|
)
|
|
|
- parent = TreeForeignKey(
|
|
|
- to='self',
|
|
|
- on_delete=models.CASCADE,
|
|
|
- related_name='children',
|
|
|
- blank=True,
|
|
|
- null=True,
|
|
|
- db_index=True
|
|
|
- )
|
|
|
status = models.CharField(
|
|
|
max_length=50,
|
|
|
choices=LocationStatusChoices,
|
|
|
@@ -329,10 +276,6 @@ class Location(NestedGroupModel):
|
|
|
blank=True,
|
|
|
null=True
|
|
|
)
|
|
|
- description = models.CharField(
|
|
|
- max_length=200,
|
|
|
- blank=True
|
|
|
- )
|
|
|
|
|
|
# Generic relations
|
|
|
vlan_groups = GenericRelation(
|