Skip to content

Commit f022663

Browse files
committed
Allowing multiple admin2, district, country queries
1 parent aa659fc commit f022663

File tree

1 file changed

+31
-5
lines changed

1 file changed

+31
-5
lines changed

api/drf_views.py

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,11 @@ class CountryFilter(filters.FilterSet):
192192

193193
class Meta:
194194
model = Country
195-
fields = ('region', 'record_type',)
195+
fields = {
196+
'id': ('exact', 'in'),
197+
'region': ('exact', 'in'),
198+
'record_type': ('exact', 'in'),
199+
}
196200

197201

198202
class CountryViewset(viewsets.ReadOnlyModelViewSet):
@@ -247,7 +251,11 @@ class CountryFilterRMD(filters.FilterSet):
247251

248252
class Meta:
249253
model = Country
250-
fields = ('region', 'record_type',)
254+
fields = {
255+
'id': ('exact', 'in'),
256+
'region': ('exact', 'in'),
257+
'record_type': ('exact', 'in'),
258+
}
251259

252260
class CountryRMDViewset(viewsets.ReadOnlyModelViewSet):
253261
queryset = Country.objects.filter(is_deprecated=False).filter(iso3__isnull=False).exclude(iso3="")
@@ -259,7 +267,13 @@ class CountryRMDViewset(viewsets.ReadOnlyModelViewSet):
259267
class DistrictRMDFilter(filters.FilterSet):
260268
class Meta:
261269
model = District
262-
fields = ('country','country__name')
270+
fields = {
271+
'id': ('exact', 'in'),
272+
'country': ('exact', 'in'),
273+
'country__iso3': ('exact', 'in'),
274+
'country__name': ('exact', 'in'),
275+
'name': ('exact', 'in'),
276+
}
263277

264278

265279
class DistrictRMDViewset(viewsets.ReadOnlyModelViewSet):
@@ -342,7 +356,13 @@ def get_serializer_class(self):
342356
class DistrictFilter(filters.FilterSet):
343357
class Meta:
344358
model = District
345-
fields = ('country', 'country__iso3', 'name',)
359+
fields = {
360+
'id': ('exact', 'in'),
361+
'country': ('exact', 'in'),
362+
'country__iso3': ('exact', 'in'),
363+
'country__name': ('exact', 'in'),
364+
'name': ('exact', 'in'),
365+
}
346366

347367

348368
class DistrictViewset(viewsets.ReadOnlyModelViewSet):
@@ -363,7 +383,13 @@ def get_serializer_class(self):
363383
class Admin2Filter(filters.FilterSet):
364384
class Meta:
365385
model = Admin2
366-
fields = ('admin1', 'admin1__country', 'admin1__country__iso3')
386+
fields = {
387+
'id': ('exact', 'in'),
388+
'admin1': ('exact', 'in'),
389+
'admin1__country': ('exact', 'in'),
390+
'admin1__country__iso3': ('exact', 'in'),
391+
'name': ('exact', 'in'),
392+
}
367393

368394

369395
class Admin2Viewset(viewsets.ReadOnlyModelViewSet):

0 commit comments

Comments
 (0)