update
This commit is contained in:
@ -2,7 +2,7 @@ from django.contrib import admin
|
|||||||
from leaflet.admin import LeafletGeoAdmin
|
from leaflet.admin import LeafletGeoAdmin
|
||||||
from leaflet.admin import LeafletGeoAdminMixin
|
from leaflet.admin import LeafletGeoAdminMixin
|
||||||
from leaflet_admin_list.admin import LeafletAdminListMixin
|
from leaflet_admin_list.admin import LeafletAdminListMixin
|
||||||
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
|
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf
|
||||||
|
|
||||||
|
|
||||||
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
||||||
@ -28,5 +28,6 @@ admin.site.register(Event, admin.ModelAdmin)
|
|||||||
admin.site.register(Location_line, LeafletGeoAdmin)
|
admin.site.register(Location_line, LeafletGeoAdmin)
|
||||||
admin.site.register(Location_polygon, LeafletGeoAdmin)
|
admin.site.register(Location_polygon, LeafletGeoAdmin)
|
||||||
admin.site.register(JpnAdminMainPerf, LeafletGeoAdmin)
|
admin.site.register(JpnAdminMainPerf, LeafletGeoAdmin)
|
||||||
admin.site.register(JpnAdminPerf, LeafletGeoAdmin)
|
#admin.site.register(JpnAdminPerf, LeafletGeoAdmin)
|
||||||
|
admin.site.register(JpnSubPerf, LeafletGeoAdmin)
|
||||||
admin.site.register(ShapeLayers, admin.ModelAdmin)
|
admin.site.register(ShapeLayers, admin.ModelAdmin)
|
||||||
@ -65,6 +65,23 @@ class JpnAdminPerf(models.Model):
|
|||||||
db_table = 'jpn_admin_perf'
|
db_table = 'jpn_admin_perf'
|
||||||
|
|
||||||
|
|
||||||
|
class JpnSubPerf(models.Model):
|
||||||
|
geom = models.MultiPolygonField(blank=True, null=True)
|
||||||
|
adm0_en = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
adm0_ja = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
adm0_pcode = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
adm1_en = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
adm1_ja = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
adm1_pcode = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
adm2_ja = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
adm2_en = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
adm2_pcode = models.CharField(max_length=254, blank=True, null=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
managed = False
|
||||||
|
db_table = 'jpn_sub_perf'
|
||||||
|
|
||||||
|
|
||||||
class RogUser(models.Model):
|
class RogUser(models.Model):
|
||||||
user=models.OneToOneField(User, on_delete=models.CASCADE)
|
user=models.OneToOneField(User, on_delete=models.CASCADE)
|
||||||
email=models.EmailField(_('Email'))
|
email=models.EmailField(_('Email'))
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from rest_framework_gis.serializers import GeoFeatureModelSerializer
|
from rest_framework_gis.serializers import GeoFeatureModelSerializer
|
||||||
from sqlalchemy.sql.functions import mode
|
from sqlalchemy.sql.functions import mode
|
||||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
|
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf
|
||||||
from drf_extra_fields.fields import Base64ImageField
|
from drf_extra_fields.fields import Base64ImageField
|
||||||
|
|
||||||
|
|
||||||
@ -30,6 +30,12 @@ class JPN_main_perfSerializer(serializers.ModelSerializer):
|
|||||||
model=JpnAdminMainPerf
|
model=JpnAdminMainPerf
|
||||||
fields=['id', '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_sub_perSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model=JpnSubPerf
|
||||||
|
fields=['id', 'adm0_en', 'adm0_ja', 'adm0_pcode', 'adm1_en', 'adm1_ja', 'adm1_pcode', 'adm2_ja', 'adm2_en', 'adm2_pcode']
|
||||||
|
|
||||||
|
|
||||||
class JPN_perfSerializer(serializers.ModelSerializer):
|
class JPN_perfSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model=JpnAdminPerf
|
model=JpnAdminPerf
|
||||||
|
|||||||
@ -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, LocationsInPerf, SubInPerf, ExtentForSubPerf
|
from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet, LocationsInPerf, SubInPerf, ExtentForSubPerf, SubPerfInMainPerf, ExtentForMainPerf
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
|
|
||||||
|
|
||||||
@ -17,6 +17,7 @@ urlpatterns = router.urls
|
|||||||
|
|
||||||
urlpatterns += [
|
urlpatterns += [
|
||||||
path('inperf/', LocationsInPerf, name="location_perf"),
|
path('inperf/', LocationsInPerf, name="location_perf"),
|
||||||
path('insubperf/', SubInPerf, name="sub_perf"),
|
path('subperfinmain/', SubPerfInMainPerf, name="sub_perf"),
|
||||||
path('perfext/', ExtentForSubPerf, name="sub_perf_ext"),
|
path('perfext/', ExtentForSubPerf, name="sub_perf_ext"),
|
||||||
|
path('mainperfext/', ExtentForMainPerf, name="main_perf_ext"),
|
||||||
]
|
]
|
||||||
23
rog/views.py
23
rog/views.py
@ -1,7 +1,7 @@
|
|||||||
from django.core.serializers import serialize
|
from django.core.serializers import serialize
|
||||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
|
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf
|
||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer
|
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer
|
||||||
|
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
@ -54,9 +54,26 @@ def SubInPerf(request):
|
|||||||
return JsonResponse(serializer.data, safe=False)
|
return JsonResponse(serializer.data, safe=False)
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
def ExtentForSubPerf(request):
|
def ExtentForSubPerf(request):
|
||||||
sub_perf_id = request.GET.get('sub_perf')
|
sub_perf_id = request.GET.get('sub_perf')
|
||||||
sub_perf = JpnAdminPerf.objects.get(id=sub_perf_id)
|
sub_perf = JpnSubPerf.objects.get(id=sub_perf_id)
|
||||||
ext = sub_perf.geom.extent
|
ext = sub_perf.geom.extent
|
||||||
# iata = serializers.serialize("json",ext)
|
# iata = serializers.serialize("json",ext)
|
||||||
return JsonResponse(ext, safe=False)
|
return JsonResponse(ext, safe=False)
|
||||||
|
|||||||
Reference in New Issue
Block a user