mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-25 16:56:10 -06:00
6347 connect the counters
This commit is contained in:
parent
2e6bc7b53a
commit
acb58f0a31
@ -9,18 +9,45 @@ class DCIMConfig(AppConfig):
|
|||||||
|
|
||||||
def ready(self):
|
def ready(self):
|
||||||
from . import signals, search
|
from . import signals, search
|
||||||
from .models import CableTermination
|
from .models import (
|
||||||
|
CableTermination, ConsolePort, ConsoleServerPort, DeviceBay, FrontPort,
|
||||||
|
Interface, InventoryItem, PowerOutlet, PowerPort, RearPort,
|
||||||
|
)
|
||||||
|
|
||||||
|
from utilities.counter import connect_counter
|
||||||
|
|
||||||
# Register denormalized fields
|
# Register denormalized fields
|
||||||
denormalized.register(CableTermination, '_device', {
|
denormalized.register(
|
||||||
|
CableTermination,
|
||||||
|
'_device',
|
||||||
|
{
|
||||||
'_rack': 'rack',
|
'_rack': 'rack',
|
||||||
'_location': 'location',
|
'_location': 'location',
|
||||||
'_site': 'site',
|
'_site': 'site',
|
||||||
})
|
},
|
||||||
denormalized.register(CableTermination, '_rack', {
|
)
|
||||||
|
denormalized.register(
|
||||||
|
CableTermination,
|
||||||
|
'_rack',
|
||||||
|
{
|
||||||
'_location': 'location',
|
'_location': 'location',
|
||||||
'_site': 'site',
|
'_site': 'site',
|
||||||
})
|
},
|
||||||
denormalized.register(CableTermination, '_location', {
|
)
|
||||||
|
denormalized.register(
|
||||||
|
CableTermination,
|
||||||
|
'_location',
|
||||||
|
{
|
||||||
'_site': 'site',
|
'_site': 'site',
|
||||||
})
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
connect_counter('_console_port_count', ConsolePort.device)
|
||||||
|
connect_counter('_console_server_port_count', ConsoleServerPort.device)
|
||||||
|
connect_counter('_interface_count', Interface.device)
|
||||||
|
connect_counter('_front_port_count', FrontPort.device)
|
||||||
|
connect_counter('_rear_port_count', RearPort.device)
|
||||||
|
connect_counter('_device_bay_count', DeviceBay.device)
|
||||||
|
connect_counter('_inventory_item_count', InventoryItem.device)
|
||||||
|
connect_counter('_power_port_count', PowerPort.device)
|
||||||
|
connect_counter('_power_outlet_count', PowerOutlet.device)
|
||||||
|
@ -0,0 +1,58 @@
|
|||||||
|
# Generated by Django 4.1.8 on 2023-05-16 20:18
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
import utilities.fields
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
dependencies = [
|
||||||
|
('dcim', '0173_remove_napalm_fields'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_console_port_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_console_server_port_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_device_bay_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_front_port_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_interface_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_inventory_item_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_power_outlet_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_power_port_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='device',
|
||||||
|
name='_rear_port_count',
|
||||||
|
field=utilities.fields.CounterCacheField(default=0),
|
||||||
|
),
|
||||||
|
]
|
@ -21,7 +21,7 @@ from extras.querysets import ConfigContextModelQuerySet
|
|||||||
from netbox.config import ConfigItem
|
from netbox.config import ConfigItem
|
||||||
from netbox.models import OrganizationalModel, PrimaryModel
|
from netbox.models import OrganizationalModel, PrimaryModel
|
||||||
from utilities.choices import ColorChoices
|
from utilities.choices import ColorChoices
|
||||||
from utilities.fields import ColorField, NaturalOrderingField
|
from utilities.fields import ColorField, CounterCacheField, NaturalOrderingField
|
||||||
from .device_components import *
|
from .device_components import *
|
||||||
from .mixins import WeightMixin
|
from .mixins import WeightMixin
|
||||||
|
|
||||||
@ -625,6 +625,16 @@ class Device(PrimaryModel, ConfigContextModel):
|
|||||||
null=True
|
null=True
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_console_port_count = CounterCacheField()
|
||||||
|
_console_server_port_count = CounterCacheField()
|
||||||
|
_power_port_count = CounterCacheField()
|
||||||
|
_power_outlet_count = CounterCacheField()
|
||||||
|
_interface_count = CounterCacheField()
|
||||||
|
_front_port_count = CounterCacheField()
|
||||||
|
_rear_port_count = CounterCacheField()
|
||||||
|
_device_bay_count = CounterCacheField()
|
||||||
|
_inventory_item_count = CounterCacheField()
|
||||||
|
|
||||||
# Generic relations
|
# Generic relations
|
||||||
contacts = GenericRelation(
|
contacts = GenericRelation(
|
||||||
to='tenancy.ContactAssignment'
|
to='tenancy.ContactAssignment'
|
||||||
|
Loading…
Reference in New Issue
Block a user