diff --git a/component_catalog/models.py b/component_catalog/models.py index 99a00ec8..045f6d13 100644 --- a/component_catalog/models.py +++ b/component_catalog/models.py @@ -2660,7 +2660,10 @@ def update_from_purldb(self, user): if package_content := package_data.get("package_content"): package_content_value = Package.get_package_content_value_from_label(package_content) - package_data["package_content"] = package_content_value + if package_content_value is not None: + package_data["package_content"] = package_content_value + else: + package_data.pop("package_content", None) # Avoid raising an IntegrityError when the values in `package_data` for the # identifier fields already exist on another Package instance. diff --git a/component_catalog/views.py b/component_catalog/views.py index 775bf3b6..2a8ca67e 100644 --- a/component_catalog/views.py +++ b/component_catalog/views.py @@ -1936,7 +1936,8 @@ def get_initial(self): # Convert package_content string label to integer value if content_label := purldb_entry.pop("package_content", None): - if content_value := Package.get_package_content_value_from_label(content_label): + content_value = Package.get_package_content_value_from_label(content_label) + if content_value is not None: purldb_entry["package_content"] = content_value model_fields = [field.name for field in Package._meta.get_fields()]