From 5fe4c96ecf8a9456394f6d98f74c4028b50d177d Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 25 Jul 2025 08:42:33 -0400 Subject: [PATCH] Add index to features ArrayField --- netbox/core/migrations/0017_concrete_objecttype.py | 7 +++++++ netbox/core/models/object_types.py | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/netbox/core/migrations/0017_concrete_objecttype.py b/netbox/core/migrations/0017_concrete_objecttype.py index b64d9074f..9c7d4e999 100644 --- a/netbox/core/migrations/0017_concrete_objecttype.py +++ b/netbox/core/migrations/0017_concrete_objecttype.py @@ -1,4 +1,5 @@ import django.contrib.postgres.fields +import django.contrib.postgres.indexes import django.db.models.deletion from django.db import migrations, models @@ -48,6 +49,12 @@ class Migration(migrations.Migration): options={ 'verbose_name': 'object type', 'verbose_name_plural': 'object types', + 'indexes': [ + django.contrib.postgres.indexes.GinIndex( + fields=['features'], + name='core_object_feature_aec4de_gin' + ), + ] }, bases=('contenttypes.contenttype',), managers=[], diff --git a/netbox/core/models/object_types.py b/netbox/core/models/object_types.py index b9626d063..80268227b 100644 --- a/netbox/core/models/object_types.py +++ b/netbox/core/models/object_types.py @@ -1,5 +1,6 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.postgres.fields import ArrayField +from django.contrib.postgres.indexes import GinIndex from django.core.exceptions import ObjectDoesNotExist from django.db import models from django.utils.translation import gettext as _ @@ -126,6 +127,9 @@ class ObjectType(ContentType): class Meta: verbose_name = _('object type') verbose_name_plural = _('object types') + indexes = [ + GinIndex(fields=['features']), + ] @property def app_labeled_name(self):