mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-09 21:32:17 -06:00
Fixes #21049: Remove stale custom field data during object validation
This commit is contained in:
@@ -288,12 +288,13 @@ class CustomFieldsMixin(models.Model):
|
|||||||
cf.name: cf for cf in CustomField.objects.get_for_model(self)
|
cf.name: cf for cf in CustomField.objects.get_for_model(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Remove any stale custom field data
|
||||||
|
self.custom_field_data = {
|
||||||
|
k: v for k, v in self.custom_field_data.items() if k in custom_fields.keys()
|
||||||
|
}
|
||||||
|
|
||||||
# Validate all field values
|
# Validate all field values
|
||||||
for field_name, value in self.custom_field_data.items():
|
for field_name, value in self.custom_field_data.items():
|
||||||
if field_name not in custom_fields:
|
|
||||||
raise ValidationError(_("Unknown field name '{name}' in custom field data.").format(
|
|
||||||
name=field_name
|
|
||||||
))
|
|
||||||
try:
|
try:
|
||||||
custom_fields[field_name].validate(value)
|
custom_fields[field_name].validate(value)
|
||||||
except ValidationError as e:
|
except ValidationError as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user