Files
rogaining_srv/rog/views.py

80 lines
2.9 KiB
Python
Raw Normal View History

2022-03-14 10:50:11 +05:30
from django.core.serializers import serialize
2022-04-05 16:36:21 +05:30
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf
2022-03-14 10:50:11 +05:30
from rest_framework import viewsets
2022-04-05 16:36:21 +05:30
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer
2022-03-16 17:46:22 +05:30
2022-03-14 10:50:11 +05:30
from rest_framework.decorators import action
from rest_framework.response import Response
from rest_framework.parsers import JSONParser, MultiPartParser
2022-03-23 09:21:17 +05:30
from .models import Location
from .serializers import LocationSerializer
2022-03-30 16:17:48 +05:30
from django.http import JsonResponse
2022-03-14 10:50:11 +05:30
class LocationViewSet(viewsets.ModelViewSet):
queryset=Location.objects.all()
serializer_class=LocationSerializer
2022-03-23 09:21:17 +05:30
filter_fields=["prefecture", "location_name"]
2022-03-14 10:50:11 +05:30
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
2022-03-16 17:46:22 +05:30
class Jpn_Main_PerfViewSet(viewsets.ModelViewSet):
queryset=JpnAdminMainPerf.objects.all()
serializer_class=JPN_main_perfSerializer
2022-03-23 09:21:17 +05:30
filter_fields = ["adm1_ja"]
2022-03-14 10:50:11 +05:30
2022-03-16 17:46:22 +05:30
class Jpn_PerfViewSet(viewsets.ModelViewSet):
queryset=JpnAdminPerf.objects.all()
serializer_class=JPN_perfSerializer
2022-03-14 10:50:11 +05:30
2022-03-30 16:17:48 +05:30
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)
2022-04-02 16:20:48 +05:30
2022-04-05 16:36:21 +05:30
def SubPerfInMainPerf(request):
prefecture = request.GET.get('perf')
perf_geom = JpnAdminMainPerf.objects.get(id=prefecture)
sub = JpnSubPerf.objects.filter(geom__within=perf_geom.geom)
serializer = JPN_sub_perSerializer
#sub = JpnAdminPerf.objects.filter(geom__within=perf_geom.geom)
serializer = JPN_sub_perSerializer(sub, many=True)
return JsonResponse(serializer.data, safe=False)
def ExtentForMainPerf(request):
perf_id = request.GET.get('perf')
perf = JpnAdminMainPerf.objects.get(id=perf_id)
ext = perf.geom.extent
# iata = serializers.serialize("json",ext)
return JsonResponse(ext, safe=False)
2022-04-02 16:20:48 +05:30
def ExtentForSubPerf(request):
sub_perf_id = request.GET.get('sub_perf')
2022-04-05 16:36:21 +05:30
sub_perf = JpnSubPerf.objects.get(id=sub_perf_id)
2022-04-02 16:20:48 +05:30
ext = sub_perf.geom.extent
# iata = serializers.serialize("json",ext)
return JsonResponse(ext, safe=False)
2022-03-30 16:17:48 +05:30