update
This commit is contained in:
@ -2,7 +2,7 @@ from django.contrib import admin
|
||||
from leaflet.admin import LeafletGeoAdmin
|
||||
from leaflet.admin import LeafletGeoAdminMixin
|
||||
from leaflet_admin_list.admin import LeafletAdminListMixin
|
||||
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon
|
||||
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
|
||||
|
||||
|
||||
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
||||
@ -27,4 +27,6 @@ admin.site.register(TravelPoint, admin.ModelAdmin)
|
||||
admin.site.register(Event, admin.ModelAdmin)
|
||||
admin.site.register(Location_line, LeafletGeoAdmin)
|
||||
admin.site.register(Location_polygon, LeafletGeoAdmin)
|
||||
admin.site.register(JpnAdminMainPerf, LeafletGeoAdmin)
|
||||
admin.site.register(JpnAdminPerf, LeafletGeoAdmin)
|
||||
admin.site.register(ShapeLayers, admin.ModelAdmin)
|
||||
@ -1,4 +1,4 @@
|
||||
# Generated by Django 3.2.9 on 2022-03-07 07:10
|
||||
# Generated by Django 3.2.9 on 2022-03-16 11:00
|
||||
|
||||
from django.conf import settings
|
||||
import django.contrib.gis.db.models.fields
|
||||
@ -15,6 +15,44 @@ class Migration(migrations.Migration):
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='JpnAdminMainPerf',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('geom', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326)),
|
||||
('adm0_en', models.CharField(blank=True, max_length=254, null=True)),
|
||||
('adm0_ja', models.CharField(blank=True, max_length=254, null=True)),
|
||||
('adm0_pcode', models.CharField(blank=True, max_length=254, null=True)),
|
||||
('adm1_en', models.CharField(blank=True, max_length=254, null=True)),
|
||||
('adm1_ja', models.CharField(blank=True, max_length=254, null=True)),
|
||||
('adm1_pcode', models.CharField(blank=True, max_length=254, null=True)),
|
||||
],
|
||||
options={
|
||||
'db_table': 'jpn_admin_main_perf',
|
||||
'managed': False,
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='JpnAdminPerf',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('geom', django.contrib.gis.db.models.fields.MultiLineStringField(blank=True, null=True, srid=4326)),
|
||||
('et_id', models.IntegerField(blank=True, null=True)),
|
||||
('et_right', models.CharField(blank=True, max_length=80, null=True)),
|
||||
('et_left', models.CharField(blank=True, max_length=80, null=True)),
|
||||
('adm2_l', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('adm1_l', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('adm0_l', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('adm0_r', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('adm1_r', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('adm2_r', models.CharField(blank=True, max_length=50, null=True)),
|
||||
('admlevel', models.IntegerField(blank=True, null=True)),
|
||||
],
|
||||
options={
|
||||
'db_table': 'jpn_admin_perf',
|
||||
'managed': False,
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Location',
|
||||
fields=[
|
||||
@ -31,13 +69,13 @@ class Migration(migrations.Migration):
|
||||
('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')),
|
||||
('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')),
|
||||
('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Portal')),
|
||||
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Group')),
|
||||
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone')),
|
||||
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Fax')),
|
||||
('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')),
|
||||
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Facility')),
|
||||
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Remarks')),
|
||||
('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')),
|
||||
('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
@ -46,16 +84,6 @@ class Migration(migrations.Migration):
|
||||
('last_updated_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='location_updated_user', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='RogEvent',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('title', models.CharField(max_length=255, verbose_name='Title')),
|
||||
('venue', models.CharField(max_length=255, verbose_name='Venue')),
|
||||
('at_date', models.DateTimeField(auto_now_add=True, verbose_name='At Date')),
|
||||
('geom', django.contrib.gis.db.models.fields.MultiPointField(srid=4326)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ShapeLayers',
|
||||
fields=[
|
||||
@ -67,14 +95,6 @@ class Migration(migrations.Migration):
|
||||
('table_name', models.CharField(blank=True, max_length=255, verbose_name='Table name')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Shop',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255, verbose_name='Shop name')),
|
||||
('geom', django.contrib.gis.db.models.fields.MultiPointField(srid=4326)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='TravelList',
|
||||
fields=[
|
||||
@ -125,15 +145,6 @@ class Migration(migrations.Migration):
|
||||
('last_updated_user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='system_setting_updated_user', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ShopRoute',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255, verbose_name='Name')),
|
||||
('geom', django.contrib.gis.db.models.fields.MultiLineStringField(srid=4326)),
|
||||
('shop', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='rog.shop')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='RogUser',
|
||||
fields=[
|
||||
@ -175,13 +186,13 @@ class Migration(migrations.Migration):
|
||||
('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')),
|
||||
('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')),
|
||||
('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Portal')),
|
||||
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Group')),
|
||||
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone')),
|
||||
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Fax')),
|
||||
('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')),
|
||||
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Facility')),
|
||||
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Remarks')),
|
||||
('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')),
|
||||
('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
@ -206,13 +217,13 @@ class Migration(migrations.Migration):
|
||||
('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')),
|
||||
('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')),
|
||||
('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Portal')),
|
||||
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Group')),
|
||||
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone')),
|
||||
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Fax')),
|
||||
('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')),
|
||||
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Facility')),
|
||||
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Remarks')),
|
||||
('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')),
|
||||
('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
@ -255,15 +266,6 @@ class Migration(migrations.Migration):
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='EventRoute',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(max_length=255, verbose_name='Name')),
|
||||
('geom', django.contrib.gis.db.models.fields.MultiLineStringField(srid=4326)),
|
||||
('event', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='rog.rogevent')),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='Event',
|
||||
fields=[
|
||||
|
||||
@ -25,6 +25,40 @@ environ.Env.read_env(env_file=".env")
|
||||
db = Db(dbname=env("POSTGRES_DBNAME"), user=env("POSTGRES_USER"), password=env("POSTGRES_PASS"), host="postgres-db", port=env("PG_PORT"))
|
||||
|
||||
|
||||
|
||||
|
||||
class JpnAdminMainPerf(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)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'jpn_admin_main_perf'
|
||||
|
||||
|
||||
class JpnAdminPerf(models.Model):
|
||||
geom = models.MultiLineStringField(blank=True, null=True)
|
||||
et_id = models.IntegerField(blank=True, null=True)
|
||||
et_right = models.CharField(max_length=80, blank=True, null=True)
|
||||
et_left = models.CharField(max_length=80, blank=True, null=True)
|
||||
adm2_l = models.CharField(max_length=50, blank=True, null=True)
|
||||
adm1_l = models.CharField(max_length=50, blank=True, null=True)
|
||||
adm0_l = models.CharField(max_length=50, blank=True, null=True)
|
||||
adm0_r = models.CharField(max_length=50, blank=True, null=True)
|
||||
adm1_r = models.CharField(max_length=50, blank=True, null=True)
|
||||
adm2_r = models.CharField(max_length=50, blank=True, null=True)
|
||||
admlevel = models.IntegerField(blank=True, null=True)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'jpn_admin_perf'
|
||||
|
||||
|
||||
class RogUser(models.Model):
|
||||
user=models.OneToOneField(User, on_delete=models.CASCADE)
|
||||
email=models.EmailField(_('Email'))
|
||||
@ -254,40 +288,6 @@ class TravelPoint(models.Model):
|
||||
|
||||
|
||||
|
||||
class RogEvent(models.Model):
|
||||
title=models.CharField(_('Title'), max_length=255)
|
||||
venue=models.CharField(_('Venue'), max_length=255)
|
||||
at_date=models.DateTimeField(_('At Date'), auto_now_add=True)
|
||||
geom=models.MultiPointField(srid=4326)
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
||||
class EventRoute(models.Model):
|
||||
name = models.CharField(_("Name"), max_length=255)
|
||||
event = models.OneToOneField(RogEvent, on_delete=models.CASCADE)
|
||||
geom = models.MultiLineStringField(srid=4326)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class Shop(models.Model):
|
||||
name=models.CharField(_('Shop name'), max_length=255)
|
||||
geom=models.MultiPointField(srid=4326)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
class ShopRoute(models.Model):
|
||||
name = models.CharField(_("Name"), max_length=255)
|
||||
shop = models.OneToOneField(Shop, on_delete=models.CASCADE)
|
||||
geom = models.MultiLineStringField(srid=4326)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
|
||||
def getTableForModel(tbl):
|
||||
if tbl == 1:
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
from rest_framework import serializers
|
||||
from rest_framework_gis.serializers import GeoFeatureModelSerializer
|
||||
from sqlalchemy.sql.functions import mode
|
||||
from .models import RogEvent, Shop, EventRoute, ShopRoute, Location, Location_line, Location_polygon
|
||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
|
||||
from drf_extra_fields.fields import Base64ImageField
|
||||
|
||||
|
||||
@ -24,29 +25,12 @@ class Location_polygonSerializer(GeoFeatureModelSerializer):
|
||||
fields="__all__"
|
||||
|
||||
|
||||
class RogEventSerializer(GeoFeatureModelSerializer):
|
||||
class JPN_main_perfSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model=RogEvent
|
||||
geo_field="geom"
|
||||
fields="__all__"
|
||||
model=JpnAdminMainPerf
|
||||
fields=['adm0_en', 'adm0_ja', 'adm0_pcode', 'adm1_en', 'adm1_ja', 'adm1_pcode']
|
||||
|
||||
|
||||
class ShopSerializer(GeoFeatureModelSerializer):
|
||||
class JPN_perfSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model=Shop
|
||||
geo_field="geom"
|
||||
fields="__all__"
|
||||
|
||||
|
||||
class EventRouteSerializer(GeoFeatureModelSerializer):
|
||||
class Meta:
|
||||
model=EventRoute
|
||||
geo_field="geom"
|
||||
fields="__all__"
|
||||
|
||||
|
||||
class ShopRouteSerializer(GeoFeatureModelSerializer):
|
||||
class Meta:
|
||||
model=ShopRoute
|
||||
geo_field="geom"
|
||||
fields="__all__"
|
||||
model=JpnAdminPerf
|
||||
fields=['et_id', 'et_right', 'et_left', 'adm2_l', 'adm1_l', 'adm0_l', 'adm0_r', 'adm1_r', 'adm2_r', 'admlevel']
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
from rest_framework import urlpatterns
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from .views import RogEventViewSet, EventRouteViewSet, ShopViewSet, ShopRouteViewSet, LocationViewSet, Location_lineViewSet, Location_polygonViewSet
|
||||
from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet
|
||||
from django.urls import path, include
|
||||
|
||||
|
||||
@ -9,10 +9,8 @@ router = DefaultRouter()
|
||||
router.register(prefix='location', viewset=LocationViewSet, basename='location')
|
||||
router.register(prefix='location_line', viewset=Location_lineViewSet, basename="location_line")
|
||||
router.register(prefix='location_polygon', viewset=Location_polygonViewSet, basename='location_polygon')
|
||||
router.register(prefix='perf_main', viewset=Jpn_Main_PerfViewSet, basename='main_perf')
|
||||
router.register(prefix='perf', viewset=Jpn_PerfViewSet, basename='perf')
|
||||
|
||||
router.register(prefix='v1/rog', viewset=RogEventViewSet, basename='rog')
|
||||
router.register(prefix='v1/eventroute', viewset=EventRouteViewSet, basename='eventroute')
|
||||
router.register(prefix='v1/shop', viewset=ShopViewSet, basename='shop')
|
||||
router.register(prefix='v1/shoproute', viewset=ShopRouteViewSet, basename='shoproute')
|
||||
|
||||
urlpatterns = router.urls
|
||||
|
||||
27
rog/views.py
27
rog/views.py
@ -1,7 +1,8 @@
|
||||
from django.core.serializers import serialize
|
||||
from .models import RogEvent, ShopRoute, EventRoute, Shop, Location, Location_line, Location_polygon
|
||||
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
|
||||
from rest_framework import viewsets
|
||||
from .serializers import RogEventSerializer, EventRouteSerializer, ShopSerializer, ShopRouteSerializer, LocationSerializer, Location_lineSerializer, Location_polygonSerializer
|
||||
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
|
||||
@ -23,23 +24,13 @@ class Location_polygonViewSet(viewsets.ModelViewSet):
|
||||
serializer_class=Location_polygonSerializer
|
||||
|
||||
|
||||
class Jpn_Main_PerfViewSet(viewsets.ModelViewSet):
|
||||
queryset=JpnAdminMainPerf.objects.all()
|
||||
serializer_class=JPN_main_perfSerializer
|
||||
|
||||
class RogEventViewSet(viewsets.ModelViewSet):
|
||||
queryset=RogEvent.objects.all()
|
||||
serializer_class=RogEventSerializer
|
||||
class Jpn_PerfViewSet(viewsets.ModelViewSet):
|
||||
queryset=JpnAdminPerf.objects.all()
|
||||
serializer_class=JPN_perfSerializer
|
||||
|
||||
|
||||
class EventRouteViewSet(viewsets.ModelViewSet):
|
||||
queryset=EventRoute.objects.all()
|
||||
serializer_class=EventRouteSerializer
|
||||
|
||||
|
||||
class ShopViewSet(viewsets.ModelViewSet):
|
||||
queryset=Shop.objects.all()
|
||||
serializer_class=ShopSerializer
|
||||
|
||||
|
||||
class ShopRouteViewSet(viewsets.ModelViewSet):
|
||||
queryset=ShopRoute.objects.all()
|
||||
serializer_class=ShopRouteSerializer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user