Merge pull request #21328 from netbox-community/21327-ContentTypeField-caching

Closes #21327: Leverage `get_by_natural_key()` to resolve ContentTypes
This commit is contained in:
bctiemann 2026-02-02 13:46:04 -05:00 committed by GitHub
commit 96f0debe6e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 2 additions and 1 deletions

View File

@ -1,3 +1,4 @@
from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ObjectDoesNotExist
from django.db.backends.postgresql.psycopg_any import NumericRange
from django.utils.translation import gettext as _
@ -109,7 +110,7 @@ class ContentTypeField(RelatedField):
def to_internal_value(self, data):
try:
app_label, model = data.split('.')
return self.queryset.get(app_label=app_label, model=model)
return ContentType.objects.get_by_natural_key(app_label=app_label, model=model)
except ObjectDoesNotExist:
self.fail('does_not_exist', content_type=data)
except (AttributeError, TypeError, ValueError):