From 6fece9cfc2917088a7c55611826781642a6d9053 Mon Sep 17 00:00:00 2001 From: Arthur Date: Tue, 7 Jul 2026 16:42:39 -0700 Subject: [PATCH] fix --- netbox/utilities/testing/base.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/netbox/utilities/testing/base.py b/netbox/utilities/testing/base.py index 924988cbc..23dac73c8 100644 --- a/netbox/utilities/testing/base.py +++ b/netbox/utilities/testing/base.py @@ -6,7 +6,7 @@ from django.contrib.contenttypes.models import ContentType from django.contrib.postgres.fields import ArrayField, RangeField from django.core.exceptions import FieldDoesNotExist from django.db import transaction -from django.db.models import JSONField, ManyToManyField, ManyToManyRel +from django.db.models import DateField, JSONField, ManyToManyField, ManyToManyRel from django.forms.models import model_to_dict from django.test import Client from django.test import TestCase as _TestCase @@ -214,6 +214,10 @@ class ModelTestCase(TestCase): elif type(value) is IPNetwork: model_dict[key] = str(value) + # Convert date values to ISO 8601 strings (as rendered by the REST API) + elif type(field) is DateField and value is not None: + model_dict[key] = value.isoformat() + # Normalize arrays of numeric ranges (e.g. VLAN IDs or port ranges). # DB uses canonical half-open [lo, hi) via NumericRange; API uses inclusive [lo, hi]. # Convert to inclusive pairs for stable API comparisons.