From f4c3c90bab3a095f825987aad6967cf7e89bc7ac Mon Sep 17 00:00:00 2001 From: Martin Hauser Date: Mon, 16 Feb 2026 17:29:26 +0100 Subject: [PATCH] perf(filters): Avoid ContentType join in ContentTypeFilter Resolve the ContentType via get_by_natural_key() and filter by the FK value to prevent an unnecessary join to django_content_type. Fixes #21420 --- netbox/utilities/filters.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/netbox/utilities/filters.py b/netbox/utilities/filters.py index b2a75d554..1b7f91a12 100644 --- a/netbox/utilities/filters.py +++ b/netbox/utilities/filters.py @@ -165,12 +165,12 @@ class ContentTypeFilter(django_filters.CharFilter): try: app_label, model = value.lower().split('.') - except ValueError: + content_type = ContentType.objects.get_by_natural_key(app_label, model) + except (ValueError, ContentType.DoesNotExist): return qs.none() return qs.filter( **{ - f'{self.field_name}__app_label': app_label, - f'{self.field_name}__model': model + f'{self.field_name}': content_type, } )