Skip to content

Commit 31c752b

Browse files
Merge pull request #9607 from huntabyte/feature-9540
Closes #9540: Filter IP addresses by assigned Device/VM
2 parents 4315c46 + 2077378 commit 31c752b

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

netbox/ipam/forms/filtersets.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from django import forms
22
from django.utils.translation import gettext as _
33

4-
from dcim.models import Location, Rack, Region, Site, SiteGroup
4+
from dcim.models import Location, Rack, Region, Site, SiteGroup, Device
5+
from virtualization.models import VirtualMachine
56
from ipam.choices import *
67
from ipam.constants import *
78
from ipam.models import *
@@ -265,6 +266,7 @@ class IPAddressFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
265266
('Attributes', ('parent', 'family', 'status', 'role', 'mask_length', 'assigned_to_interface')),
266267
('VRF', ('vrf_id', 'present_in_vrf_id')),
267268
('Tenant', ('tenant_group_id', 'tenant_id')),
269+
('Device/VM', ('device_id', 'virtual_machine_id')),
268270
)
269271
parent = forms.CharField(
270272
required=False,
@@ -298,6 +300,16 @@ class IPAddressFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
298300
required=False,
299301
label=_('Present in VRF')
300302
)
303+
device_id = DynamicModelMultipleChoiceField(
304+
queryset=Device.objects.all(),
305+
required=False,
306+
label=_('Assigned Device'),
307+
)
308+
virtual_machine_id = DynamicModelMultipleChoiceField(
309+
queryset=VirtualMachine.objects.all(),
310+
required=False,
311+
label=_('Assigned VM'),
312+
)
301313
status = MultipleChoiceField(
302314
choices=IPAddressStatusChoices,
303315
required=False

0 commit comments

Comments
 (0)