This commit is contained in:
Mohamed Nouffer
2022-03-30 16:17:48 +05:30
parent bac2d5f7b8
commit ac95fcad7d
3 changed files with 24 additions and 4 deletions

View File

@ -28,9 +28,9 @@ class Location_polygonSerializer(GeoFeatureModelSerializer):
class JPN_main_perfSerializer(serializers.ModelSerializer): class JPN_main_perfSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model=JpnAdminMainPerf model=JpnAdminMainPerf
fields=['adm0_en', 'adm0_ja', 'adm0_pcode', 'adm1_en', 'adm1_ja', 'adm1_pcode'] fields=['id', 'adm0_en', 'adm0_ja', 'adm0_pcode', 'adm1_en', 'adm1_ja', 'adm1_pcode']
class JPN_perfSerializer(serializers.ModelSerializer): class JPN_perfSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model=JpnAdminPerf model=JpnAdminPerf
fields=['et_id', 'et_right', 'et_left', 'adm2_l', 'adm1_l', 'adm0_l', 'adm0_r', 'adm1_r', 'adm2_r', 'admlevel'] fields=['id','et_id', 'et_right', 'et_left', 'adm2_l', 'adm1_l', 'adm0_l', 'adm0_r', 'adm1_r', 'adm2_r', 'admlevel']

View File

@ -1,6 +1,6 @@
from rest_framework import urlpatterns from rest_framework import urlpatterns
from rest_framework.routers import DefaultRouter from rest_framework.routers import DefaultRouter
from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet, LocationsInPerf, SubInPerf
from django.urls import path, include from django.urls import path, include
@ -14,3 +14,8 @@ router.register(prefix='perf', viewset=Jpn_PerfViewSet, basename='perf')
urlpatterns = router.urls urlpatterns = router.urls
urlpatterns += [
path('inperf/', LocationsInPerf, name="location_perf"),
path('insubperf/', SubInPerf, name="sub_perf"),
]

View File

@ -8,6 +8,7 @@ from rest_framework.response import Response
from rest_framework.parsers import JSONParser, MultiPartParser from rest_framework.parsers import JSONParser, MultiPartParser
from .models import Location from .models import Location
from .serializers import LocationSerializer from .serializers import LocationSerializer
from django.http import JsonResponse
@ -37,4 +38,18 @@ class Jpn_PerfViewSet(viewsets.ModelViewSet):
serializer_class=JPN_perfSerializer serializer_class=JPN_perfSerializer
def LocationsInPerf(request):
perfecture = request.GET.get('perf')
perf_geom = JpnAdminMainPerf.objects.get(id=perfecture)
locs = Location.objects.filter(geom__within=perf_geom.geom)
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
#return JsonResponse({})
def SubInPerf(request):
prefecture = request.GET.get('perf')
perf_geom = JpnAdminMainPerf.objects.get(id=prefecture)
sub = JpnAdminPerf.objects.filter(geom__within=perf_geom.geom)
serializer = JPN_perfSerializer(sub, many=True)
return JsonResponse(serializer.data, safe=False)