From 6afd22315295cd0ce05191b5fa225b6fe8b28669 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 5 Jan 2026 19:17:17 +0100 Subject: [PATCH 1/2] Add support for new metadata endpoint --- inventree/base.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/inventree/base.py b/inventree/base.py index 05d4206..342ed65 100644 --- a/inventree/base.py +++ b/inventree/base.py @@ -593,10 +593,15 @@ class MetadataMixin: Note: Requires server API version 49 or newer """ + NEW_METADATA_API_VERSION = 436 @property def metadata_url(self): - return os.path.join(self._url, "metadata/") + """Return the metadata URL for this model instance.""" + if self._api.api_version < self.NEW_METADATA_API_VERSION: + return os.path.join(self._url, "metadata/") + model_type = self.getModelType() + return f"metadata/{model_type}/{self.pk}/" def getMetadata(self): """Read model instance metadata""" @@ -623,14 +628,14 @@ def setMetadata(self, data, overwrite=False): if overwrite: return self._api.put( - self.metadata_url, + self.metadata_url, data={ "metadata": data, } ) else: return self._api.patch( - self.metadata_url, + self.metadata_url, data={ "metadata": data } From b98bd1bd1cba11d1f45be5bcadddc2e6c85c16b0 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 6 Jan 2026 01:17:04 +0100 Subject: [PATCH 2/2] fix style --- inventree/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inventree/base.py b/inventree/base.py index 342ed65..f01c6e7 100644 --- a/inventree/base.py +++ b/inventree/base.py @@ -628,14 +628,14 @@ def setMetadata(self, data, overwrite=False): if overwrite: return self._api.put( - self.metadata_url, + self.metadata_url, data={ "metadata": data, } ) else: return self._api.patch( - self.metadata_url, + self.metadata_url, data={ "metadata": data }