update
This commit is contained in:
@ -27,4 +27,4 @@ admin.site.register(TravelPoint, admin.ModelAdmin)
|
|||||||
admin.site.register(Event, admin.ModelAdmin)
|
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(ShapeLayers, admin.ModelAdmin)
|
admin.site.register(ShapeLayers, admin.ModelAdmin)
|
||||||
@ -2,6 +2,6 @@ from django.utils.translation import gettext_lazy as _
|
|||||||
|
|
||||||
LAYER_CHOICES = (
|
LAYER_CHOICES = (
|
||||||
(1, _("locations")),
|
(1, _("locations")),
|
||||||
(2, _("locations_line")),
|
(2, _("Location_line")),
|
||||||
(3, _("locations_polygon")),
|
(3, _("Location_polygon")),
|
||||||
)
|
)
|
||||||
@ -27,51 +27,11 @@ location_mapping = {
|
|||||||
|
|
||||||
location_line_mapping = {
|
location_line_mapping = {
|
||||||
'location_id' : 'loc_id',
|
'location_id' : 'loc_id',
|
||||||
'location_name' : 'loc_name',
|
|
||||||
'category': 'category',
|
|
||||||
'zip':'zip',
|
|
||||||
'address':'address',
|
|
||||||
'prefecture':'prefecture',
|
|
||||||
'area':'area',
|
|
||||||
'city':'city',
|
|
||||||
'photos':'photos',
|
|
||||||
'videos':'videos',
|
|
||||||
'webcontents':'webcontent',
|
|
||||||
'status':'status',
|
|
||||||
'portal':'portal',
|
|
||||||
'group':'group',
|
|
||||||
'phone':'phone',
|
|
||||||
'fax':'fax',
|
|
||||||
'email':'email',
|
|
||||||
'facility':'facility',
|
|
||||||
'remark':'remark',
|
|
||||||
'parammeters':'params',
|
|
||||||
'tags':'tags',
|
|
||||||
'geom': 'LINESTRING',
|
'geom': 'LINESTRING',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
location_polygon_mapping = {
|
location_polygon_mapping = {
|
||||||
'location_id' : 'loc_id',
|
'location_id' : 'loc_id',
|
||||||
'location_name' : 'loc_name',
|
|
||||||
'category': 'category',
|
|
||||||
'zip':'zip',
|
|
||||||
'address':'address',
|
|
||||||
'prefecture':'prefecture',
|
|
||||||
'area':'area',
|
|
||||||
'city':'city',
|
|
||||||
'photos':'photos',
|
|
||||||
'videos':'videos',
|
|
||||||
'webcontents':'webcontent',
|
|
||||||
'status':'status',
|
|
||||||
'portal':'portal',
|
|
||||||
'group':'group',
|
|
||||||
'phone':'phone',
|
|
||||||
'fax':'fax',
|
|
||||||
'email':'email',
|
|
||||||
'facility':'facility',
|
|
||||||
'remark':'remark',
|
|
||||||
'parammeters':'params',
|
|
||||||
'tags':'tags',
|
|
||||||
'geom': 'POLYGON',
|
'geom': 'POLYGON',
|
||||||
}
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-02-28 05:04
|
# Generated by Django 3.2.9 on 2022-03-07 07:10
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
import django.contrib.gis.db.models.fields
|
import django.contrib.gis.db.models.fields
|
||||||
@ -19,7 +19,7 @@ class Migration(migrations.Migration):
|
|||||||
name='Location',
|
name='Location',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('location_id', models.IntegerField(blank=True, null=True, verbose_name='Location Name')),
|
('location_id', models.IntegerField(blank=True, null=True, verbose_name='Location id')),
|
||||||
('location_name', models.CharField(max_length=255, verbose_name='Location Name')),
|
('location_name', models.CharField(max_length=255, verbose_name='Location Name')),
|
||||||
('category', models.CharField(blank=True, max_length=255, null=True, verbose_name='Category')),
|
('category', models.CharField(blank=True, max_length=255, null=True, verbose_name='Category')),
|
||||||
('zip', models.CharField(blank=True, max_length=12, null=True, verbose_name='Zip code')),
|
('zip', models.CharField(blank=True, max_length=12, null=True, verbose_name='Zip code')),
|
||||||
@ -27,9 +27,9 @@ class Migration(migrations.Migration):
|
|||||||
('prefecture', models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture')),
|
('prefecture', models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture')),
|
||||||
('area', models.CharField(blank=True, max_length=255, null=True, verbose_name='Area')),
|
('area', models.CharField(blank=True, max_length=255, null=True, verbose_name='Area')),
|
||||||
('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City')),
|
('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City')),
|
||||||
('photos', models.JSONField(blank=True, null=True, verbose_name='Phptos')),
|
('photos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos')),
|
||||||
('videos', models.JSONField(blank=True, null=True, verbose_name='Videos')),
|
('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')),
|
||||||
('webcontents', models.JSONField(blank=True, null=True, verbose_name='Web Content')),
|
('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')),
|
('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')),
|
('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')),
|
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
|
||||||
@ -63,7 +63,7 @@ class Migration(migrations.Migration):
|
|||||||
('name', models.CharField(max_length=255, verbose_name='Shape Layer')),
|
('name', models.CharField(max_length=255, verbose_name='Shape Layer')),
|
||||||
('file', models.FileField(blank=True, upload_to='%y%m%d')),
|
('file', models.FileField(blank=True, upload_to='%y%m%d')),
|
||||||
('uploaded_date', models.DateField(auto_now_add=True)),
|
('uploaded_date', models.DateField(auto_now_add=True)),
|
||||||
('layerof', models.IntegerField(choices=[(1, 'locations')], default=1)),
|
('layerof', models.IntegerField(choices=[(1, 'locations'), (2, 'Location_line'), (3, 'Location_polygon')], default=1)),
|
||||||
('table_name', models.CharField(blank=True, max_length=255, verbose_name='Table name')),
|
('table_name', models.CharField(blank=True, max_length=255, verbose_name='Table name')),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -159,6 +159,68 @@ class Migration(migrations.Migration):
|
|||||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Location_polygon',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('location_id', models.IntegerField(blank=True, null=True, verbose_name='Location id')),
|
||||||
|
('location_name', models.CharField(max_length=255, verbose_name='Location Name')),
|
||||||
|
('category', models.CharField(blank=True, max_length=255, null=True, verbose_name='Category')),
|
||||||
|
('zip', models.CharField(blank=True, max_length=12, null=True, verbose_name='Zip code')),
|
||||||
|
('address', models.CharField(blank=True, max_length=512, null=True, verbose_name='Address')),
|
||||||
|
('prefecture', models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture')),
|
||||||
|
('area', models.CharField(blank=True, max_length=255, null=True, verbose_name='Area')),
|
||||||
|
('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City')),
|
||||||
|
('photos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos')),
|
||||||
|
('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')),
|
||||||
|
('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')),
|
||||||
|
('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)),
|
||||||
|
('last_updated_at', models.DateTimeField(auto_now=True)),
|
||||||
|
('geom', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326)),
|
||||||
|
('last_updated_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='location_polygon_updated_user', to=settings.AUTH_USER_MODEL)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Location_line',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('location_id', models.IntegerField(blank=True, null=True, verbose_name='Location id')),
|
||||||
|
('location_name', models.CharField(max_length=255, verbose_name='Location Name')),
|
||||||
|
('category', models.CharField(blank=True, max_length=255, null=True, verbose_name='Category')),
|
||||||
|
('zip', models.CharField(blank=True, max_length=12, null=True, verbose_name='Zip code')),
|
||||||
|
('address', models.CharField(blank=True, max_length=512, null=True, verbose_name='Address')),
|
||||||
|
('prefecture', models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture')),
|
||||||
|
('area', models.CharField(blank=True, max_length=255, null=True, verbose_name='Area')),
|
||||||
|
('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City')),
|
||||||
|
('photos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos')),
|
||||||
|
('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')),
|
||||||
|
('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')),
|
||||||
|
('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)),
|
||||||
|
('last_updated_at', models.DateTimeField(auto_now=True)),
|
||||||
|
('geom', django.contrib.gis.db.models.fields.MultiLineStringField(blank=True, null=True, srid=4326)),
|
||||||
|
('last_updated_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='location_line_updated_user', to=settings.AUTH_USER_MODEL)),
|
||||||
|
],
|
||||||
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='JoinedEvent',
|
name='JoinedEvent',
|
||||||
fields=[
|
fields=[
|
||||||
|
|||||||
@ -1,18 +0,0 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-02-28 12:18
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('rog', '0001_initial'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='location_id',
|
|
||||||
field=models.IntegerField(blank=True, null=True, verbose_name='Location id'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@ -1,99 +0,0 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-03-02 13:40
|
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
import django.contrib.gis.db.models.fields
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
||||||
('rog', '0002_alter_location_location_id'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='photos',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='videos',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='webcontents',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='shapelayers',
|
|
||||||
name='layerof',
|
|
||||||
field=models.IntegerField(choices=[(1, 'locations'), (2, 'locations_line'), (3, 'locations_polygon')], default=1),
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Location_polygon',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('location_id', models.IntegerField(blank=True, null=True, verbose_name='Location id')),
|
|
||||||
('location_name', models.CharField(max_length=255, verbose_name='Location Name')),
|
|
||||||
('category', models.CharField(blank=True, max_length=255, null=True, verbose_name='Category')),
|
|
||||||
('zip', models.CharField(blank=True, max_length=12, null=True, verbose_name='Zip code')),
|
|
||||||
('address', models.CharField(blank=True, max_length=512, null=True, verbose_name='Address')),
|
|
||||||
('prefecture', models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture')),
|
|
||||||
('area', models.CharField(blank=True, max_length=255, null=True, verbose_name='Area')),
|
|
||||||
('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City')),
|
|
||||||
('photos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos')),
|
|
||||||
('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')),
|
|
||||||
('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')),
|
|
||||||
('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)),
|
|
||||||
('last_updated_at', models.DateTimeField(auto_now=True)),
|
|
||||||
('geom', django.contrib.gis.db.models.fields.MultiPolygonField(srid=4326)),
|
|
||||||
('last_updated_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='location_polygon_updated_user', to=settings.AUTH_USER_MODEL)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Location_line',
|
|
||||||
fields=[
|
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
||||||
('location_id', models.IntegerField(blank=True, null=True, verbose_name='Location id')),
|
|
||||||
('location_name', models.CharField(max_length=255, verbose_name='Location Name')),
|
|
||||||
('category', models.CharField(blank=True, max_length=255, null=True, verbose_name='Category')),
|
|
||||||
('zip', models.CharField(blank=True, max_length=12, null=True, verbose_name='Zip code')),
|
|
||||||
('address', models.CharField(blank=True, max_length=512, null=True, verbose_name='Address')),
|
|
||||||
('prefecture', models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture')),
|
|
||||||
('area', models.CharField(blank=True, max_length=255, null=True, verbose_name='Area')),
|
|
||||||
('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City')),
|
|
||||||
('photos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos')),
|
|
||||||
('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')),
|
|
||||||
('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')),
|
|
||||||
('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)),
|
|
||||||
('last_updated_at', models.DateTimeField(auto_now=True)),
|
|
||||||
('geom', django.contrib.gis.db.models.fields.MultiLineStringField(srid=4326)),
|
|
||||||
('last_updated_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='location_line_updated_user', to=settings.AUTH_USER_MODEL)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
]
|
|
||||||
123
rog/models.py
123
rog/models.py
@ -1,3 +1,6 @@
|
|||||||
|
from dataclasses import field
|
||||||
|
from pyexpat import model
|
||||||
|
from sre_constants import CH_LOCALE
|
||||||
from typing import ChainMap
|
from typing import ChainMap
|
||||||
from django.contrib.gis.db import models
|
from django.contrib.gis.db import models
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
@ -14,6 +17,7 @@ from sqlalchemy.sql.functions import mode
|
|||||||
from .mapping import location_mapping, location_line_mapping, location_polygon_mapping
|
from .mapping import location_mapping, location_line_mapping, location_polygon_mapping
|
||||||
from .choices import LAYER_CHOICES
|
from .choices import LAYER_CHOICES
|
||||||
from django.contrib.gis.utils import LayerMapping
|
from django.contrib.gis.utils import LayerMapping
|
||||||
|
from django.apps import apps
|
||||||
|
|
||||||
env = environ.Env(DEBUG=(bool, False))
|
env = environ.Env(DEBUG=(bool, False))
|
||||||
environ.Env.read_env(env_file=".env")
|
environ.Env.read_env(env_file=".env")
|
||||||
@ -84,37 +88,6 @@ class Location(models.Model):
|
|||||||
return self.location_name
|
return self.location_name
|
||||||
|
|
||||||
|
|
||||||
class Location(models.Model):
|
|
||||||
location_id=models.IntegerField(_('Location id'), blank=True, null=True)
|
|
||||||
location_name=models.CharField(_('Location Name'), max_length=255)
|
|
||||||
category=models.CharField(_('Category'), max_length=255, blank=True, null=True)
|
|
||||||
zip=models.CharField(_('Zip code'), max_length=12, blank=True, null=True)
|
|
||||||
address = models.CharField(_('Address'), max_length=512, blank=True, null=True)
|
|
||||||
prefecture = models.CharField(_('Prefecture'), max_length=255, blank=True, null=True)
|
|
||||||
area= models.CharField(_('Area'), max_length=255, blank=True, null=True)
|
|
||||||
city= models.CharField(_('City'), max_length=255, blank=True, null=True)
|
|
||||||
photos=models.CharField(_('Phptos'), max_length=255, blank=True, null=True)
|
|
||||||
videos=models.CharField(_('Videos'), max_length=255, blank=True, null=True)
|
|
||||||
webcontents=models.CharField(_('Web Content'), max_length=255, blank=True, null=True)
|
|
||||||
status=models.CharField(_('Status'),max_length=255, blank=True, null=True)
|
|
||||||
portal=models.CharField(_('Status'), max_length=255,blank=True, null=True)
|
|
||||||
group=models.CharField(_('Status'), max_length=255,blank=True, null=True)
|
|
||||||
phone=models.CharField(_('Status'), max_length=255,blank=True, null=True)
|
|
||||||
fax=models.CharField(_('Status'), max_length=255, blank=True, null=True)
|
|
||||||
email=models.EmailField(_('Email'), max_length=255,blank=True, null=True)
|
|
||||||
facility=models.CharField(_('Status'), max_length=255, blank=True, null=True)
|
|
||||||
remark=models.CharField(_('Status'), max_length=255, blank=True, null=True)
|
|
||||||
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
|
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
|
||||||
last_updated_user=models.ForeignKey(User, related_name="location_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
|
||||||
geom=models.MultiPointField(srid=4326)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return self.location_name
|
|
||||||
|
|
||||||
|
|
||||||
class Location_line(models.Model):
|
class Location_line(models.Model):
|
||||||
location_id=models.IntegerField(_('Location id'), blank=True, null=True)
|
location_id=models.IntegerField(_('Location id'), blank=True, null=True)
|
||||||
location_name=models.CharField(_('Location Name'), max_length=255)
|
location_name=models.CharField(_('Location Name'), max_length=255)
|
||||||
@ -140,10 +113,11 @@ class Location_line(models.Model):
|
|||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="location_line_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
last_updated_user=models.ForeignKey(User, related_name="location_line_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
geom=models.MultiLineStringField(srid=4326)
|
geom=models.MultiLineStringField(srid=4326, blank=True, null=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.location_name
|
return str(self.location_id)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Location_polygon(models.Model):
|
class Location_polygon(models.Model):
|
||||||
@ -171,10 +145,10 @@ class Location_polygon(models.Model):
|
|||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="location_polygon_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
last_updated_user=models.ForeignKey(User, related_name="location_polygon_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
geom=models.MultiPolygonField(srid=4326)
|
geom=models.MultiPolygonField(srid=4326, blank=True, null=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.location_name
|
return str(self.location_name)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -327,9 +301,9 @@ def getMappingforModel(tbl, shp):
|
|||||||
if tbl == 1:
|
if tbl == 1:
|
||||||
return LayerMapping(Location, shp, location_mapping, transform=False)
|
return LayerMapping(Location, shp, location_mapping, transform=False)
|
||||||
elif tbl == 2:
|
elif tbl == 2:
|
||||||
return LayerMapping(Location_line, location_line_mapping, transform=False)
|
return LayerMapping(Location_line, shp, location_line_mapping, transform=False)
|
||||||
else:
|
else:
|
||||||
return LayerMapping(Location_polygon, location_polygon_mapping, transform=False)
|
return LayerMapping(Location_polygon, shp, location_polygon_mapping, transform=False)
|
||||||
|
|
||||||
|
|
||||||
class ShapeLayers(models.Model):
|
class ShapeLayers(models.Model):
|
||||||
@ -372,11 +346,80 @@ def publish_date(sender, instance, created, **kwargs):
|
|||||||
if epsg is None:
|
if epsg is None:
|
||||||
epsg=4326
|
epsg=4326
|
||||||
|
|
||||||
print("### shape file is ###")
|
|
||||||
|
|
||||||
lm2 = getMappingforModel(instance.layerof, shp)
|
lm2 = getMappingforModel(instance.layerof, shp)
|
||||||
|
print("### shape file is ###")
|
||||||
lm2.save(strict=True, verbose=True)
|
lm2.save(strict=True, verbose=True)
|
||||||
|
|
||||||
os.remove(shp)
|
os.remove(shp)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print('##################',e)
|
print('##################',e)
|
||||||
|
|
||||||
|
try:
|
||||||
|
csv = glob.glob(r'{}/**/*.csv'.format(file_path), recursive=True)[0]
|
||||||
|
|
||||||
|
mdl = apps.get_model(app_label="rog", model_name=LAYER_CHOICES[instance.layerof -1][1])
|
||||||
|
print(mdl)
|
||||||
|
print(f"#### instance.layerof - {instance.layerof}")
|
||||||
|
with open(csv, "r") as txt_file:
|
||||||
|
lns = txt_file.readlines()
|
||||||
|
for ln in lns:
|
||||||
|
fields = ln.split(",")
|
||||||
|
if instance.layerof == 12:
|
||||||
|
updateLineTable(mdl, fields)
|
||||||
|
if instance.layerof == 3:
|
||||||
|
updatePolygonTable(mdl, fields)
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print('##################',e)
|
||||||
|
|
||||||
|
|
||||||
|
def updateLineTable(mdl, fields):
|
||||||
|
#print(f"Updated {fields[0]} - {fields[1]}")
|
||||||
|
mdl.objects.filter(location_id = fields[0]).update(
|
||||||
|
location_name=fields[1],
|
||||||
|
category=fields[2],
|
||||||
|
zip=fields[3],
|
||||||
|
address=fields[4],
|
||||||
|
prefecture=fields[5],
|
||||||
|
area=fields[6],
|
||||||
|
city=fields[7],
|
||||||
|
photos=fields[8],
|
||||||
|
videos=fields[9],
|
||||||
|
webcontents=fields[10],
|
||||||
|
status=fields[11],
|
||||||
|
portal=fields[12],
|
||||||
|
group=fields[13],
|
||||||
|
phone=fields[14],
|
||||||
|
fax=fields[15],
|
||||||
|
email=fields[16],
|
||||||
|
facility=fields[17],
|
||||||
|
remark=fields[18],
|
||||||
|
tags=fields[19],
|
||||||
|
parammeters=fields[20]
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def updatePolygonTable(mdl, fields):
|
||||||
|
#print(f"Updated {fields[0]} - {fields[1]}")
|
||||||
|
mdl.objects.filter(location_id = fields[0]).update(
|
||||||
|
location_name=fields[1],
|
||||||
|
category=fields[2],
|
||||||
|
zip=fields[3],
|
||||||
|
address=fields[4],
|
||||||
|
prefecture=fields[5],
|
||||||
|
area=fields[6],
|
||||||
|
city=fields[7],
|
||||||
|
photos=fields[8],
|
||||||
|
videos=fields[9],
|
||||||
|
webcontents=fields[10],
|
||||||
|
status=fields[11],
|
||||||
|
portal=fields[12],
|
||||||
|
group=fields[13],
|
||||||
|
phone=fields[14],
|
||||||
|
fax=fields[15],
|
||||||
|
email=fields[16],
|
||||||
|
facility=fields[17],
|
||||||
|
remark=fields[18],
|
||||||
|
tags=fields[19],
|
||||||
|
parammeters=fields[20]
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user