optimised models and views
This commit is contained in:
102
rog/models.py
102
rog/models.py
@ -22,6 +22,7 @@ from django.contrib.gis.utils import LayerMapping
|
||||
from django.apps import apps
|
||||
from django.db import transaction
|
||||
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager
|
||||
from django.contrib.postgres.indexes import GistIndex
|
||||
|
||||
import csv
|
||||
import codecs
|
||||
@ -102,46 +103,58 @@ class JpnAdminMainPerf(models.Model):
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'jpn_admin_main_perf'
|
||||
indexes = [
|
||||
models.Index(fields=['geom'], name='jpn_admin_main_perf_geom_idx'),
|
||||
# Add other fields for indexing as per the requirements
|
||||
]
|
||||
|
||||
|
||||
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 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 Meta:
|
||||
# managed = False
|
||||
# db_table = 'jpn_admin_perf'
|
||||
# indexes = [
|
||||
# models.Index(fields=['geom'], name='jpn_admin_perf_geom_idx'),
|
||||
# # Add other fields for indexing as per the requirements
|
||||
# ]
|
||||
|
||||
###
|
||||
### Cities
|
||||
###
|
||||
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)
|
||||
name_modified = models.CharField(max_length=254, blank=True, null=True)
|
||||
area_name = models.CharField(max_length=254, blank=True, null=True)
|
||||
list_order =models.IntegerField(default=0)
|
||||
# ###
|
||||
# ### Cities
|
||||
# ###
|
||||
# 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)
|
||||
# name_modified = models.CharField(max_length=254, blank=True, null=True)
|
||||
# area_name = models.CharField(max_length=254, blank=True, null=True)
|
||||
# list_order =models.IntegerField(default=0)
|
||||
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'jpn_sub_perf'
|
||||
# class Meta:
|
||||
# managed = False
|
||||
# db_table = 'jpn_sub_perf'
|
||||
# indexes = [
|
||||
# models.Index(fields=['geom'], name='jpn_sub_perf_geom_idx'),
|
||||
# # Add other fields for indexing as per the requirements
|
||||
# ]
|
||||
|
||||
###
|
||||
### Gifu Areas
|
||||
@ -162,6 +175,10 @@ class GifuAreas(models.Model):
|
||||
class Meta:
|
||||
managed = False
|
||||
db_table = 'gifu_areas'
|
||||
indexes = [
|
||||
models.Index(fields=['geom'], name='gifu_areas_geom_idx'),
|
||||
# Add other fields for indexing as per the requirements
|
||||
]
|
||||
|
||||
|
||||
class UserUpload(models.Model):
|
||||
@ -252,11 +269,11 @@ class SystemSettings(models.Model):
|
||||
last_updated_at=models.DateTimeField(auto_now=True)
|
||||
|
||||
class Location(models.Model):
|
||||
location_id=models.IntegerField(_('Location id'), blank=True, null=True)
|
||||
location_id=models.IntegerField(_('Location id'), blank=True, null=True, db_index=True)
|
||||
sub_loc_id=models.CharField(_('Sub location id'), max_length=2048, blank=True, null=True)
|
||||
cp=models.FloatField(_('Check Point'), blank=False, null=True, default=0)
|
||||
location_name=models.CharField(_('Location Name'), max_length=2048, default="--- 場所をお願いします --")
|
||||
category=models.CharField(_('Category'), max_length=2048, blank=True, null=True)
|
||||
category=models.CharField(_('Category'), max_length=2048, blank=True, null=True, db_index=True)
|
||||
subcategory=models.CharField(_('Sub Category'), max_length=2048, blank=True, null=True)
|
||||
zip=models.CharField(_('Zip code'), max_length=12, blank=True, null=True)
|
||||
address = models.CharField(_('Address'), max_length=2048, blank=True, null=True)
|
||||
@ -270,15 +287,15 @@ class Location(models.Model):
|
||||
webcontents=models.CharField(_('Web Content'), max_length=2048, blank=True, null=True)
|
||||
status=models.CharField(_('Status'),max_length=2048, blank=True, null=True)
|
||||
portal=models.CharField(_('Portal'), max_length=2048,blank=True, null=True)
|
||||
group=models.CharField(_('Group'), max_length=2048,blank=True, null=True)
|
||||
group=models.CharField(_('Group'), max_length=2048,blank=True, null=True, db_index=True)
|
||||
phone=models.CharField(_('Phone'), max_length=2048,blank=True, null=True)
|
||||
fax=models.CharField(_('Fax'), max_length=2048, blank=True, null=True)
|
||||
email=models.EmailField(_('Email'), max_length=2048,blank=True, null=True)
|
||||
facility=models.CharField(_('Facility'), max_length=2048, blank=True, null=True)
|
||||
remark=models.CharField(_('Remarks'), max_length=2048, blank=True, null=True)
|
||||
tags=models.CharField(_('Tags'), max_length=2048, blank=True, null=True)
|
||||
event_name = models.CharField(_('Event name'), max_length=2048, blank=True, null=True)
|
||||
event_active = models.BooleanField(_("Is Event active"),default=True)
|
||||
event_name = models.CharField(_('Event name'), max_length=2048, blank=True, null=True, db_index=True)
|
||||
event_active = models.BooleanField(_("Is Event active"),default=True, db_index=True)
|
||||
hidden_location = models.BooleanField(_("Is Hidden Location"),default=False)
|
||||
auto_checkin = models.BooleanField(_("Is AutoCheckin"),default=False)
|
||||
checkin_radius = models.FloatField(_("Checkin radious"), blank=True, null=True, default=15.0)
|
||||
@ -300,6 +317,11 @@ class Location(models.Model):
|
||||
last_updated_at=models.DateTimeField(auto_now=True)
|
||||
geom=models.MultiPointField(srid=4326)
|
||||
|
||||
class Meta:
|
||||
indexes = [
|
||||
GistIndex(fields=['geom']),
|
||||
]
|
||||
|
||||
def __str__(self):
|
||||
return self.location_name
|
||||
|
||||
|
||||
Reference in New Issue
Block a user