File tree Expand file tree Collapse file tree 1 file changed +8
-3
lines changed
seedsource_core/django/seedsource Expand file tree Collapse file tree 1 file changed +8
-3
lines changed Original file line number Diff line number Diff line change 11import json
22
33from django .conf import settings
4+ from django .contrib .gis .db .models .functions import AsGeoJSON
45from django .contrib .gis .geos import Point
56from django .db .models import Q
67from django .http import HttpResponse
@@ -56,20 +57,24 @@ class SeedZoneViewset(viewsets.ReadOnlyModelViewSet):
5657 lookup_field = 'zone_uid'
5758
5859 def get_queryset (self ):
60+ queryset = self .queryset
61+ if self .request .path .endswith ('/geometry/' ):
62+ queryset = queryset .annotate (geojson = AsGeoJSON ('polygon' ))
63+
5964 if not self .request .query_params .get ('point' ):
60- return self . queryset
65+ return queryset
6166 else :
6267 try :
6368 x , y = [float (x ) for x in self .request .query_params ['point' ].split (',' )]
6469 except ValueError :
6570 raise ParseError ()
6671 point = Point (x , y )
6772
68- return self . queryset .filter (polygon__contains = point ).order_by ('zone_source__order' )
73+ return queryset .filter (polygon__contains = point ).order_by ('zone_source__order' )
6974
7075 @detail_route (methods = ['get' ])
7176 def geometry (self , * args , ** kwargs ):
72- return Response (json .loads (self .get_object ().polygon . geojson ))
77+ return Response (json .loads (self .get_object ().geojson ))
7378
7479
7580class TransferLimitViewset (viewsets .ReadOnlyModelViewSet ):
You can’t perform that action at this time.
0 commit comments