diff --git a/netbox/extras/forms/filtersets.py b/netbox/extras/forms/filtersets.py index 27881f17a..bd502029e 100644 --- a/netbox/extras/forms/filtersets.py +++ b/netbox/extras/forms/filtersets.py @@ -102,11 +102,11 @@ class CustomFieldFilterForm(SavedFiltersMixin, FilterForm): choices=BOOLEAN_WITH_BLANK_CHOICES ) ) - validation_minimum = forms.IntegerField( + validation_minimum = forms.DecimalField( label=_('Minimum value'), required=False ) - validation_maximum = forms.IntegerField( + validation_maximum = forms.DecimalField( label=_('Maximum value'), required=False ) diff --git a/netbox/extras/migrations/0130_update_custom_fields_numeric_bounds.py b/netbox/extras/migrations/0130_update_custom_fields_numeric_bounds.py new file mode 100644 index 000000000..dcc225617 --- /dev/null +++ b/netbox/extras/migrations/0130_update_custom_fields_numeric_bounds.py @@ -0,0 +1,23 @@ +# Generated by Django 5.2.4 on 2025-08-28 19:31 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0129_fix_script_paths'), + ] + + operations = [ + migrations.AlterField( + model_name='customfield', + name='validation_maximum', + field=models.DecimalField(blank=True, decimal_places=2, max_digits=21, null=True), + ), + migrations.AlterField( + model_name='customfield', + name='validation_minimum', + field=models.DecimalField(blank=True, decimal_places=2, max_digits=21, null=True), + ), + ] diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index 19d9e1ded..78b30e9ab 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -174,13 +174,17 @@ class CustomField(CloningMixin, ExportTemplatesMixin, ChangeLoggedModel): verbose_name=_('display weight'), help_text=_('Fields with higher weights appear lower in a form.') ) - validation_minimum = models.BigIntegerField( + validation_minimum = models.DecimalField( + max_digits=21, + decimal_places=2, blank=True, null=True, verbose_name=_('minimum value'), help_text=_('Minimum allowed value (for numeric fields)') ) - validation_maximum = models.BigIntegerField( + validation_maximum = models.DecimalField( + max_digits=21, + decimal_places=2, blank=True, null=True, verbose_name=_('maximum value'),