diff --git a/netbox/dcim/migrations/0175_device__console_port_count_and_more.py b/netbox/dcim/migrations/0175_device__console_port_count_and_more.py index edc0e9015..27c022561 100644 --- a/netbox/dcim/migrations/0175_device__console_port_count_and_more.py +++ b/netbox/dcim/migrations/0175_device__console_port_count_and_more.py @@ -8,27 +8,27 @@ from django.db.models import Count def recalculate_device_counts(apps, schema_editor): Device = apps.get_model("dcim", "Device") devices = list(Device.objects.all().annotate( - console_port_count=Count('consoleports'), - console_server_port_count=Count('consoleserverports'), - interface_count=Count('interfaces'), - front_port_count=Count('frontports'), - rear_port_count=Count('rearports'), - device_bay_count=Count('devicebays'), - inventory_item_count=Count('inventoryitems'), - power_port_count=Count('powerports'), - power_outlet_count=Count('poweroutlets'), + console_port_count=Count('consoleports', distinct=True), + console_server_port_count=Count('consoleserverports', distinct=True), + interface_count=Count('interfaces', distinct=True), + front_port_count=Count('frontports', distinct=True), + rear_port_count=Count('rearports', distinct=True), + device_bay_count=Count('devicebays', distinct=True), + inventory_item_count=Count('inventoryitems', distinct=True), + power_port_count=Count('powerports', distinct=True), + power_outlet_count=Count('poweroutlets', distinct=True), )) for device in devices: - device._console_port_count = console_port_count - device._console_server_port_count = console_server_port_count - device._interface_count = interface_count - device._front_port_count = front_port_count - device._rear_port_count = rear_port_count - device._device_bay_count = device_bay_count - device._inventory_item_count = inventory_item_count - device._power_port_count = power_port_count - device._power_outlet_count = power_outlet_count + device._console_port_count = device.console_port_count + device._console_server_port_count = device.console_server_port_count + device._interface_count = device.interface_count + device._front_port_count = device.front_port_count + device._rear_port_count = device.rear_port_count + device._device_bay_count = device.device_bay_count + device._inventory_item_count = device.inventory_item_count + device._power_port_count = device.power_port_count + device._power_outlet_count = device.dpower_outlet_count Device.objects.bulk_update( devices, diff --git a/netbox/virtualization/migrations/0035_virtualmachine__interface_count.py b/netbox/virtualization/migrations/0035_virtualmachine__interface_count.py index 2657146c9..7f641984f 100644 --- a/netbox/virtualization/migrations/0035_virtualmachine__interface_count.py +++ b/netbox/virtualization/migrations/0035_virtualmachine__interface_count.py @@ -8,7 +8,7 @@ from django.db.models import Count def populate_virtualmachine_counts(apps, schema_editor): VirtualMachine = apps.get_model('virtualization', 'VirtualMachine') - vms = list(VirtualMachine.objects.annotate(interface_count=Count('interfaces'))) + vms = list(VirtualMachine.objects.annotate(interface_count=Count('interfaces', distinct=True))) for vm in vms: vm._interface_count = vm.interface_count