diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index 5ddee77d7..eb6f7c38b 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -11,6 +11,7 @@ * [#7674](https://github.com/netbox-community/netbox/issues/7674) - Fix inadvertent application of device type context to virtual machines * [#8074](https://github.com/netbox-community/netbox/issues/8074) - Ordering VMs by name should reference naturalized value +* [#8077](https://github.com/netbox-community/netbox/issues/8077) - Fix exception when attaching image to location, circuit, or power panel * [#8078](https://github.com/netbox-community/netbox/issues/8078) - Add missing wireless models to `lsmodels()` in `nbshell` * [#8079](https://github.com/netbox-community/netbox/issues/8079) - Fix validation of LLDP neighbors when connected device has an asset tag diff --git a/netbox/extras/api/serializers.py b/netbox/extras/api/serializers.py index 89fd00929..1be187596 100644 --- a/netbox/extras/api/serializers.py +++ b/netbox/extras/api/serializers.py @@ -170,17 +170,7 @@ class ImageAttachmentSerializer(ValidatedModelSerializer): @swagger_serializer_method(serializer_or_field=serializers.DictField) def get_parent(self, obj): - - # Static mapping of models to their nested serializers - if isinstance(obj.parent, Device): - serializer = NestedDeviceSerializer - elif isinstance(obj.parent, Rack): - serializer = NestedRackSerializer - elif isinstance(obj.parent, Site): - serializer = NestedSiteSerializer - else: - raise Exception("Unexpected type of parent object for ImageAttachment") - + serializer = get_serializer_for_model(obj.parent, prefix='Nested') return serializer(obj.parent, context={'request': self.context['request']}).data