from django.core.serializers import serialize from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf from rest_framework import viewsets from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer from rest_framework.decorators import action from rest_framework.response import Response from rest_framework.parsers import JSONParser, MultiPartParser from .models import Location from .serializers import LocationSerializer from django.http import JsonResponse class LocationViewSet(viewsets.ModelViewSet): queryset=Location.objects.all() serializer_class=LocationSerializer filter_fields=["prefecture", "location_name"] class Location_lineViewSet(viewsets.ModelViewSet): queryset=Location_line.objects.all() serializer_class=Location_lineSerializer class Location_polygonViewSet(viewsets.ModelViewSet): queryset=Location_polygon.objects.all() serializer_class=Location_polygonSerializer class Jpn_Main_PerfViewSet(viewsets.ModelViewSet): queryset=JpnAdminMainPerf.objects.all() serializer_class=JPN_main_perfSerializer filter_fields = ["adm1_ja"] class Jpn_PerfViewSet(viewsets.ModelViewSet): queryset=JpnAdminPerf.objects.all() 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)