Skip to content

Commit 755a66f

Browse files
committed
[chores] Removed uuid primary key from GeoSettings + cleanup
1 parent 724d62b commit 755a66f

5 files changed

Lines changed: 18 additions & 36 deletions

File tree

openwisp_controller/geo/api/serializers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ class OrganizationGeoSettingsSerializer(ValidatedModelSerializer):
2929
class Meta:
3030
model = OrganizationGeoSettings
3131
fields = "__all__"
32-
read_only_fields = ["id", "organization"]
32+
read_only_fields = ["organization"]
3333

3434
# Workaround for https://github.com/openwisp/openwisp-utils/issues/633
3535
# TODO: Remove when the Bug is fixed in openwisp-utils

openwisp_controller/geo/base/models.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
from openwisp_controller.geo import settings as geo_settings
1616
from openwisp_controller.geo.estimated_location.service import EstimatedLocationService
1717
from openwisp_users.mixins import OrgMixin, ValidateOrgMixin
18-
from openwisp_utils.base import UUIDModel
1918
from openwisp_utils.fields import FallbackBooleanChoiceField
2019

2120

@@ -161,12 +160,13 @@ def organization_id(self):
161160
return self.device.organization_id
162161

163162

164-
class AbstractOrganizationGeoSettings(UUIDModel):
163+
class AbstractOrganizationGeoSettings(models.Model):
165164
organization = models.OneToOneField(
166165
swapper.get_model_name("openwisp_users", "Organization"),
167166
verbose_name=_("organization"),
168167
related_name="geo_settings",
169168
on_delete=models.CASCADE,
169+
primary_key=True,
170170
)
171171
estimated_location_enabled = FallbackBooleanChoiceField(
172172
help_text=_("Whether the estimated location feature is enabled"),
@@ -180,7 +180,9 @@ class Meta:
180180
abstract = True
181181

182182
def __str__(self):
183-
return f"Geo settings for {self.organization.name}"
183+
return _("Geo settings for %(organization)s") % {
184+
"organization": self.organization.name
185+
}
184186

185187
def clean(self):
186188
if not config_settings.WHOIS_CONFIGURED and self.estimated_location_enabled:
@@ -192,7 +194,6 @@ def clean(self):
192194
)
193195
}
194196
)
195-
return super().clean()
196197

197198
@classmethod
198199
def organization_post_save_receiver(cls, sender, instance, created, **kwargs):

openwisp_controller/geo/migrations/0005_organizationgeosettings.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Generated by Django 5.2.12 on 2026-03-23 14:59
22

3-
import uuid
4-
53
import django.db.models.deletion
64
import swapper
75
from django.db import migrations, models
@@ -23,12 +21,14 @@ class Migration(migrations.Migration):
2321
name="OrganizationGeoSettings",
2422
fields=[
2523
(
26-
"id",
27-
models.UUIDField(
28-
default=uuid.uuid4,
29-
editable=False,
24+
"organization",
25+
models.OneToOneField(
26+
on_delete=django.db.models.deletion.CASCADE,
3027
primary_key=True,
28+
related_name="geo_settings",
3129
serialize=False,
30+
to=swapper.get_model_name("openwisp_users", "Organization"),
31+
verbose_name="organization",
3232
),
3333
),
3434
(
@@ -42,15 +42,6 @@ class Migration(migrations.Migration):
4242
verbose_name="Estimated Location Enabled",
4343
),
4444
),
45-
(
46-
"organization",
47-
models.OneToOneField(
48-
on_delete=django.db.models.deletion.CASCADE,
49-
related_name="geo_settings",
50-
to=swapper.get_model_name("openwisp_users", "Organization"),
51-
verbose_name="organization",
52-
),
53-
),
5445
],
5546
options={
5647
"verbose_name": "Geographic settings",

openwisp_controller/geo/tests/test_api.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1415,7 +1415,6 @@ def test_organization_geo_settings_retrieve(self):
14151415
response = self.client.get(url)
14161416
self.assertEqual(response.status_code, 200)
14171417
data = response.data
1418-
self.assertEqual(data["id"], str(org1_geo_settings.pk))
14191418
self.assertEqual(str(data["organization"]), str(org1.pk))
14201419
self.assertEqual(
14211420
data["estimated_location_enabled"],

tests/openwisp2/sample_geo/migrations/0005_organizationgeosettings.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Generated by Django 5.2.12 on 2026-03-24 19:45
22

3-
import uuid
4-
53
import django.db.models.deletion
64
from django.db import migrations, models
75
from swapper import get_model_name
@@ -21,12 +19,14 @@ class Migration(migrations.Migration):
2119
name="OrganizationGeoSettings",
2220
fields=[
2321
(
24-
"id",
25-
models.UUIDField(
26-
default=uuid.uuid4,
27-
editable=False,
22+
"organization",
23+
models.OneToOneField(
24+
on_delete=django.db.models.deletion.CASCADE,
2825
primary_key=True,
26+
related_name="geo_settings",
2927
serialize=False,
28+
to=get_model_name("openwisp_users", "Organization"),
29+
verbose_name="organization",
3030
),
3131
),
3232
(
@@ -41,15 +41,6 @@ class Migration(migrations.Migration):
4141
),
4242
),
4343
("details", models.CharField(blank=True, max_length=64, null=True)),
44-
(
45-
"organization",
46-
models.OneToOneField(
47-
on_delete=django.db.models.deletion.CASCADE,
48-
related_name="geo_settings",
49-
to=get_model_name("openwisp_users", "Organization"),
50-
verbose_name="organization",
51-
),
52-
),
5344
],
5445
options={
5546
"verbose_name": "Geographic settings",

0 commit comments

Comments
 (0)