Skip to content

Commit 767dfcc

Browse files
Fixes #20888: Pass decimal values for min/max on latitude and longitude fields (#20892)
1 parent dc4bab7 commit 767dfcc

File tree

3 files changed

+28
-12
lines changed

3 files changed

+28
-12
lines changed

netbox/dcim/migrations/0216_latitude_longitude_validators.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import decimal
2+
13
import django.core.validators
24
from django.db import migrations, models
35

@@ -17,8 +19,8 @@ class Migration(migrations.Migration):
1719
max_digits=8,
1820
null=True,
1921
validators=[
20-
django.core.validators.MinValueValidator(-90.0),
21-
django.core.validators.MaxValueValidator(90.0),
22+
django.core.validators.MinValueValidator(decimal.Decimal('-90.0')),
23+
django.core.validators.MaxValueValidator(decimal.Decimal('90.0'))
2224
],
2325
),
2426
),
@@ -31,8 +33,8 @@ class Migration(migrations.Migration):
3133
max_digits=9,
3234
null=True,
3335
validators=[
34-
django.core.validators.MinValueValidator(-180.0),
35-
django.core.validators.MaxValueValidator(180.0),
36+
django.core.validators.MinValueValidator(decimal.Decimal('-180.0')),
37+
django.core.validators.MaxValueValidator(decimal.Decimal('180.0'))
3638
],
3739
),
3840
),
@@ -45,8 +47,8 @@ class Migration(migrations.Migration):
4547
max_digits=8,
4648
null=True,
4749
validators=[
48-
django.core.validators.MinValueValidator(-90.0),
49-
django.core.validators.MaxValueValidator(90.0),
50+
django.core.validators.MinValueValidator(decimal.Decimal('-90.0')),
51+
django.core.validators.MaxValueValidator(decimal.Decimal('90.0'))
5052
],
5153
),
5254
),
@@ -59,8 +61,8 @@ class Migration(migrations.Migration):
5961
max_digits=9,
6062
null=True,
6163
validators=[
62-
django.core.validators.MinValueValidator(-180.0),
63-
django.core.validators.MaxValueValidator(180.0),
64+
django.core.validators.MinValueValidator(decimal.Decimal('-180.0')),
65+
django.core.validators.MaxValueValidator(decimal.Decimal('180.0'))
6466
],
6567
),
6668
),

netbox/dcim/models/devices.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,10 @@ class Device(
646646
decimal_places=6,
647647
blank=True,
648648
null=True,
649-
validators=[MinValueValidator(-90.0), MaxValueValidator(90.0)],
649+
validators=[
650+
MinValueValidator(decimal.Decimal('-90.0')),
651+
MaxValueValidator(decimal.Decimal('90.0'))
652+
],
650653
help_text=_("GPS coordinate in decimal format (xx.yyyyyy)")
651654
)
652655
longitude = models.DecimalField(
@@ -655,7 +658,10 @@ class Device(
655658
decimal_places=6,
656659
blank=True,
657660
null=True,
658-
validators=[MinValueValidator(-180.0), MaxValueValidator(180.0)],
661+
validators=[
662+
MinValueValidator(decimal.Decimal('-180.0')),
663+
MaxValueValidator(decimal.Decimal('180.0'))
664+
],
659665
help_text=_("GPS coordinate in decimal format (xx.yyyyyy)")
660666
)
661667
services = GenericRelation(

netbox/dcim/models/sites.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import decimal
2+
13
from django.contrib.contenttypes.fields import GenericRelation
24
from django.core.exceptions import ValidationError
35
from django.core.validators import MaxValueValidator, MinValueValidator
@@ -211,7 +213,10 @@ class Site(ContactsMixin, ImageAttachmentsMixin, PrimaryModel):
211213
decimal_places=6,
212214
blank=True,
213215
null=True,
214-
validators=[MinValueValidator(-90.0), MaxValueValidator(90.0)],
216+
validators=[
217+
MinValueValidator(decimal.Decimal('-90.0')),
218+
MaxValueValidator(decimal.Decimal('90.0'))
219+
],
215220
help_text=_('GPS coordinate in decimal format (xx.yyyyyy)')
216221
)
217222
longitude = models.DecimalField(
@@ -220,7 +225,10 @@ class Site(ContactsMixin, ImageAttachmentsMixin, PrimaryModel):
220225
decimal_places=6,
221226
blank=True,
222227
null=True,
223-
validators=[MinValueValidator(-180.0), MaxValueValidator(180.0)],
228+
validators=[
229+
MinValueValidator(decimal.Decimal('-180.0')),
230+
MaxValueValidator(decimal.Decimal('180.0'))
231+
],
224232
help_text=_('GPS coordinate in decimal format (xx.yyyyyy)')
225233
)
226234

0 commit comments

Comments
 (0)