diff --git a/netbox/dcim/filtersets.py b/netbox/dcim/filtersets.py index 742b32939..f7c53b23d 100644 --- a/netbox/dcim/filtersets.py +++ b/netbox/dcim/filtersets.py @@ -1273,6 +1273,18 @@ class DeviceComponentFilterSet(django_filters.FilterSet): to_field_name='name', label=_('Virtual Chassis'), ) + # TODO: Remove in v4.0 + device_role_id = django_filters.ModelMultipleChoiceFilter( + field_name='device__role', + queryset=DeviceRole.objects.all(), + label=_('Device role (ID)'), + ) + device_role = django_filters.ModelMultipleChoiceFilter( + field_name='device__role__slug', + queryset=DeviceRole.objects.all(), + to_field_name='slug', + label=_('Device role (slug)'), + ) def search(self, queryset, name, value): if not value.strip(): diff --git a/netbox/dcim/models/devices.py b/netbox/dcim/models/devices.py index bc522b05d..2b598704a 100644 --- a/netbox/dcim/models/devices.py +++ b/netbox/dcim/models/devices.py @@ -811,14 +811,14 @@ class Device(PrimaryModel, ConfigContextModel, TrackingModelMixin): @property def device_role(self): """ - For backwards compatibility with pre-v3.5 code expecting a device_role to be present on Device. + For backwards compatibility with pre-v3.6 code expecting a device_role to be present on Device. """ return self.role @device_role.setter def device_role(self, value): """ - For backwards compatibility with pre-v3.5 code expecting a device_role to be present on Device. + For backwards compatibility with pre-v3.6 code expecting a device_role to be present on Device. """ self.role = value