Fixes #18669 - Populate custom field default values (#19115)

This commit is contained in:
atownson 2025-04-15 15:26:03 -05:00 committed by GitHub
parent cac41cd093
commit c108c738ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

View File

@ -538,7 +538,6 @@ class FHRPGroupForm(NetBoxModelForm):
role=FHRP_PROTOCOL_ROLE_MAPPINGS.get(self.cleaned_data['protocol'], IPAddressRoleChoices.ROLE_VIP),
assigned_object=instance
)
ipaddress.populate_custom_field_defaults()
ipaddress.save()
# Check that the new IPAddress conforms with any assigned object-level permissions

View File

@ -301,6 +301,14 @@ class CustomFieldsMixin(models.Model):
if cf.required and cf.name not in self.custom_field_data:
raise ValidationError(_("Missing required custom field '{name}'.").format(name=cf.name))
def save(self, *args, **kwargs):
# Populate default values if omitted
for cf in self.custom_fields.filter(default__isnull=False):
if cf.name not in self.custom_field_data:
self.custom_field_data[cf.name] = cf.default
super().save(*args, **kwargs)
class CustomLinksMixin(models.Model):
"""