From 139ef7ef4cb4e22f9499c864ab90c0b3245db15b Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 1 May 2023 14:17:50 -0400 Subject: [PATCH] Fixes #12395: Fix "create & add another" action for objects with custom fields --- netbox/netbox/api/serializers/features.py | 24 +---------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/netbox/netbox/api/serializers/features.py b/netbox/netbox/api/serializers/features.py index 5332a22d6..1374ba526 100644 --- a/netbox/netbox/api/serializers/features.py +++ b/netbox/netbox/api/serializers/features.py @@ -14,35 +14,13 @@ __all__ = ( class CustomFieldModelSerializer(serializers.Serializer): """ - Introduces support for custom field assignment. Adds `custom_fields` serialization and ensures - that custom field data is populated upon initialization. + Introduces support for custom field assignment and representation. """ custom_fields = CustomFieldsDataField( source='custom_field_data', default=CreateOnlyDefault(CustomFieldDefaultValues()) ) - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - - if self.instance is not None: - - # Retrieve the set of CustomFields which apply to this type of object - content_type = ContentType.objects.get_for_model(self.Meta.model) - fields = CustomField.objects.filter(content_types=content_type) - - # Populate custom field values for each instance from database - if type(self.instance) in (list, tuple): - for obj in self.instance: - self._populate_custom_fields(obj, fields) - else: - self._populate_custom_fields(self.instance, fields) - - def _populate_custom_fields(self, instance, custom_fields): - instance.custom_fields = {} - for field in custom_fields: - instance.custom_fields[field.name] = instance.cf.get(field.name) - class TaggableModelSerializer(serializers.Serializer): """