From c9555284160378f9cf4e2df37709b62187d56218 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 16 May 2023 13:50:26 -0700 Subject: [PATCH] 6347 migrate initial counts --- ...174_device__console_port_count_and_more.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/netbox/dcim/migrations/0174_device__console_port_count_and_more.py b/netbox/dcim/migrations/0174_device__console_port_count_and_more.py index f03e2233c..6bc106305 100644 --- a/netbox/dcim/migrations/0174_device__console_port_count_and_more.py +++ b/netbox/dcim/migrations/0174_device__console_port_count_and_more.py @@ -4,6 +4,22 @@ from django.db import migrations import utilities.fields +def populate_device_counts(apps, schema_editor): + Device = apps.get_model('dcim', 'Device') + + for device in Device.objects.all(): + device._console_port_count = device.console.ports.count() + device._console_server_port_count = device.consoleserverports.count() + device._interface_count = device.interfaces.count() + device._front_port_count = device.frontports.count() + device._rear_port_count = device.rearports.count() + device._device_bay_count = device.devicebays.count() + device._inventory_item_count = device.inventoryitems.count() + device._power_port_count = device.powerports.count() + device._power_outlet_count = device.poweroutlets.count() + device.save() + + class Migration(migrations.Migration): dependencies = [ ('dcim', '0173_remove_napalm_fields'), @@ -55,4 +71,8 @@ class Migration(migrations.Migration): name='_rear_port_count', field=utilities.fields.CounterCacheField(default=0), ), + migrations.RunPython( + code=populate_device_counts, + reverse_code=migrations.RunPython.noop + ), ]