Skip to content

Commit f4c2b35

Browse files
authored
Add description field to datasets (#33)
1 parent 596afc5 commit f4c2b35

File tree

6 files changed

+57
-1
lines changed

6 files changed

+57
-1
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Generated by Django 5.2.5 on 2025-10-17 16:39
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
(
10+
"datasets",
11+
"0014_alter_rasterdataset_type_alter_tabulardataset_type_and_more",
12+
),
13+
]
14+
15+
operations = [
16+
migrations.AddField(
17+
model_name="rasterdataset",
18+
name="description",
19+
field=models.TextField(blank=True, max_length=2000, null=True),
20+
),
21+
migrations.AddField(
22+
model_name="tabulardataset",
23+
name="description",
24+
field=models.TextField(blank=True, max_length=2000, null=True),
25+
),
26+
migrations.AddField(
27+
model_name="vectordataset",
28+
name="description",
29+
field=models.TextField(blank=True, max_length=2000, null=True),
30+
),
31+
]

vbos/datasets/models.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ def delete_raster_file(sender, instance, **kwargs):
8282

8383
class RasterDataset(models.Model):
8484
name = models.CharField(max_length=155)
85+
description = models.TextField(max_length=2000, null=True, blank=True)
8586
created = models.DateTimeField(auto_now_add=True)
8687
updated = models.DateTimeField(auto_now=True)
8788
cluster = models.ForeignKey(
@@ -102,6 +103,7 @@ class Meta:
102103

103104
class VectorDataset(models.Model):
104105
name = models.CharField(max_length=155, unique=False)
106+
description = models.TextField(max_length=2000, null=True, blank=True)
105107
created = models.DateTimeField(auto_now_add=True)
106108
updated = models.DateTimeField(auto_now=True)
107109
cluster = models.ForeignKey(
@@ -141,6 +143,7 @@ class Meta:
141143

142144
class TabularDataset(models.Model):
143145
name = models.CharField(max_length=155, unique=False)
146+
description = models.TextField(max_length=2000, null=True, blank=True)
144147
created = models.DateTimeField(auto_now_add=True)
145148
updated = models.DateTimeField(auto_now=True)
146149
cluster = models.ForeignKey(

vbos/datasets/serializers.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class Meta:
4444
fields = [
4545
"id",
4646
"name",
47+
"description",
4748
"created",
4849
"updated",
4950
"cluster",
@@ -58,7 +59,16 @@ class VectorDatasetSerializer(serializers.ModelSerializer):
5859

5960
class Meta:
6061
model = VectorDataset
61-
fields = ["id", "name", "created", "updated", "cluster", "type", "source"]
62+
fields = [
63+
"id",
64+
"name",
65+
"description",
66+
"created",
67+
"updated",
68+
"cluster",
69+
"type",
70+
"source",
71+
]
6272

6373

6474
class VectorItemSerializer(GeoFeatureModelSerializer):
@@ -91,6 +101,7 @@ class Meta:
91101
fields = [
92102
"id",
93103
"name",
104+
"description",
94105
"created",
95106
"updated",
96107
"cluster",

vbos/datasets/test/test_raster_views.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ def setUp(self):
1515
)
1616
self.dataset_1 = RasterDataset.objects.create(
1717
name="Rainfall",
18+
description="Rainfall data since 2020",
1819
cluster=Cluster.objects.create(name="Environment"),
1920
file=self.r_1,
2021
source="WMO",
@@ -34,6 +35,7 @@ def test_raster_datasets_list(self):
3435
assert req.data.get("count") == 2
3536
assert req.data.get("results")[0]["name"] == "Rainfall"
3637
assert req.data.get("results")[1]["name"] == "Coastline changes"
38+
assert req.data.get("results")[0]["description"] == "Rainfall data since 2020"
3739
assert req.data.get("results")[0]["cluster"] == "Environment"
3840
assert req.data.get("results")[1]["cluster"] == "Administrative"
3941
assert req.data.get("results")[0]["source"] == "WMO"
@@ -67,6 +69,7 @@ def test_raster_datasets_detail(self):
6769
assert req.data.get("updated")
6870
assert req.data.get("source") == "WMO"
6971
assert req.data.get("cluster") == "Environment"
72+
assert req.data.get("description") == "Rainfall data since 2020"
7073

7174
def tearDown(self):
7275
RasterDataset.objects.all().delete()

vbos/datasets/test/test_tabular_views.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ def setUp(self):
1414
name="Population",
1515
cluster=Cluster.objects.create(name="Administrative"),
1616
source="Government",
17+
description="Population statistics since 2020",
1718
)
1819
self.dataset_2 = TabularDataset.objects.create(
1920
name="Prices",
@@ -36,6 +37,10 @@ def test_tabular_datasets_list(self):
3637
assert req.data.get("results")[1]["cluster"] == "Statistics"
3738
assert req.data.get("results")[0]["type"] == "baseline"
3839
assert req.data.get("results")[1]["type"] == "estimated_damage"
40+
assert (
41+
req.data.get("results")[0]["description"]
42+
== "Population statistics since 2020"
43+
)
3944
assert req.data.get("results")[1]["unit"] == "Vatu (VUV)"
4045

4146
def test_raster_datasets_list_filter(self):

vbos/datasets/test/test_vector_views.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ def setUp(self):
1313
name="Boundaries",
1414
cluster=Cluster.objects.create(name="Administrative"),
1515
source="OSM",
16+
description="Administratives Boundaries",
1617
)
1718
self.dataset_2 = VectorDataset.objects.create(
1819
name="Roads",
@@ -27,6 +28,7 @@ def test_vector_datasets_list(self):
2728
assert req.data.get("count") == 2
2829
assert req.data.get("results")[0]["name"] == "Boundaries"
2930
assert req.data.get("results")[1]["name"] == "Roads"
31+
assert req.data.get("results")[0]["description"] == "Administratives Boundaries"
3032
assert req.data.get("results")[0]["type"] == "baseline"
3133
assert req.data.get("results")[1]["type"] == "estimated_damage"
3234

@@ -44,6 +46,7 @@ def test_vector_datasets_detail(self):
4446
req = self.client.get(url)
4547
assert req.status_code == status.HTTP_200_OK
4648
assert req.data.get("name") == "Boundaries"
49+
assert req.data.get("description") == "Administratives Boundaries"
4750
assert req.data.get("created")
4851
assert req.data.get("updated")
4952
assert req.data.get("cluster") == "Administrative"

0 commit comments

Comments
 (0)