From 17b17b0ee8f64ded72f09c3e56a403dbf05eb1eb Mon Sep 17 00:00:00 2001 From: mwallschlaeger Date: Mon, 17 Jun 2024 15:03:48 +0200 Subject: [PATCH] [Fixes #109] Bug: Unable set keywords on geonode_objects when defining keyword via API --- geonode/base/api/serializers.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/geonode/base/api/serializers.py b/geonode/base/api/serializers.py index ec43c14d115..7e757c5f2ec 100644 --- a/geonode/base/api/serializers.py +++ b/geonode/base/api/serializers.py @@ -878,7 +878,11 @@ def to_internal_value(self, data): def save(self, **kwargs): extent = self.validated_data.pop("extent", None) + keywords = self.validated_data.pop("keywords", None) instance = super().save(**kwargs) + if keywords is not None: + instance.keywords.clear() + [instance.keywords.add(keyword) for keyword in keywords] if extent and instance.get_real_instance()._meta.model in api_bbox_settable_resource_models: srid = extent.get("srid", "EPSG:4326") coords = extent.get("coords")