Skip to content

Commit 596afc5

Browse files
authored
Add missing migration + avoid errors in serializer (#32)
1 parent c510558 commit 596afc5

File tree

5 files changed

+80
-6
lines changed

5 files changed

+80
-6
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Generated by Django 5.2.5 on 2025-10-17 11:45
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
(
10+
"datasets",
11+
"0013_alter_rasterdataset_name_alter_tabulardataset_name_and_more",
12+
),
13+
]
14+
15+
operations = [
16+
migrations.AlterField(
17+
model_name="rasterdataset",
18+
name="type",
19+
field=models.CharField(
20+
choices=[
21+
("baseline", "Baseline"),
22+
("estimated_damage", "Estimated Hazard Damage"),
23+
("aid_resources_needed", "Immediate Response Resources"),
24+
("estimate_financial_damage", "Estimated Financial Damage"),
25+
],
26+
default="baseline",
27+
max_length=55,
28+
),
29+
),
30+
migrations.AlterField(
31+
model_name="tabulardataset",
32+
name="type",
33+
field=models.CharField(
34+
choices=[
35+
("baseline", "Baseline"),
36+
("estimated_damage", "Estimated Hazard Damage"),
37+
("aid_resources_needed", "Immediate Response Resources"),
38+
("estimate_financial_damage", "Estimated Financial Damage"),
39+
],
40+
default="baseline",
41+
max_length=55,
42+
),
43+
),
44+
migrations.AlterField(
45+
model_name="vectordataset",
46+
name="type",
47+
field=models.CharField(
48+
choices=[
49+
("baseline", "Baseline"),
50+
("estimated_damage", "Estimated Hazard Damage"),
51+
("aid_resources_needed", "Immediate Response Resources"),
52+
("estimate_financial_damage", "Estimated Financial Damage"),
53+
],
54+
default="baseline",
55+
max_length=55,
56+
),
57+
),
58+
]

vbos/datasets/serializers.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,12 @@ class Meta:
6262

6363

6464
class VectorItemSerializer(GeoFeatureModelSerializer):
65-
province = serializers.ReadOnlyField(source="province.name")
66-
area_council = serializers.ReadOnlyField(source="area_council.name")
65+
province = serializers.CharField(
66+
source="province.name", read_only=True, allow_null=True
67+
)
68+
area_council = serializers.CharField(
69+
source="area_council.name", read_only=True, allow_null=True
70+
)
6771

6872
class Meta:
6973
model = VectorItem

vbos/datasets/test/test_raster_views.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,7 @@ def test_raster_datasets_detail(self):
6767
assert req.data.get("updated")
6868
assert req.data.get("source") == "WMO"
6969
assert req.data.get("cluster") == "Environment"
70+
71+
def tearDown(self):
72+
RasterDataset.objects.all().delete()
73+
RasterFile.objects.all().delete()

vbos/datasets/test/test_tabular_views.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ def setUp(self):
124124
province=Province.objects.get(name="TORBA"),
125125
area_council=AreaCouncil.objects.get(name="East Gaua"),
126126
)
127+
TabularItem.objects.create(
128+
dataset=self.dataset_2,
129+
value=0.87,
130+
)
127131
self.url = reverse("datasets:tabular-data", args=[self.dataset_1.id])
128132

129133
def test_tabular_datasets_data(self):
@@ -145,8 +149,8 @@ def test_tabular_datasets_data(self):
145149
url = reverse("datasets:tabular-data", args=[self.dataset_2.id])
146150
req = self.client.get(url)
147151
assert req.status_code == status.HTTP_200_OK
148-
assert req.data.get("count") == 4
149-
assert len(req.data.get("results")) == 4
152+
assert req.data.get("count") == 5
153+
assert len(req.data.get("results")) == 5
150154
assert req.data.get("results")[0]["province"] == "TORBA"
151155
assert req.data.get("results")[0]["area_council"] == "East Gaua"
152156
assert req.data.get("results")[0]["value"] == 0.93

vbos/datasets/test/test_vector_views.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ def setUp(self):
8888
area_council=AreaCouncil.objects.get(name="Futuna"),
8989
metadata={"key": "value"},
9090
)
91+
VectorItem.objects.create(
92+
dataset=self.dataset_2,
93+
geometry=Polygon([(0, 0), (0, 3), (3, 3), (3, 0), (0, 0)]),
94+
)
9195
self.url = reverse("datasets:vector-data", args=[self.dataset_1.id])
9296

9397
def test_vector_datasets_data(self):
@@ -112,8 +116,8 @@ def test_vector_datasets_data(self):
112116
url = reverse("datasets:vector-data", args=[self.dataset_2.id])
113117
req = self.client.get(url)
114118
assert req.status_code == status.HTTP_200_OK
115-
assert req.data.get("count") == 1
116-
assert len(req.data.get("features")) == 1
119+
assert req.data.get("count") == 2
120+
assert len(req.data.get("features")) == 2
117121
assert req.data.get("features")[0]["geometry"] == {
118122
"type": "Polygon",
119123
"coordinates": [

0 commit comments

Comments
 (0)