Don't use GeoDjango. It does not bring advantages for our use case.
This commit is contained in:
parent
ac1cee9fa0
commit
565739f790
4 changed files with 29 additions and 41 deletions
|
@ -1,8 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Generated by Django 1.9.9 on 2016-08-23 00:17
|
# Generated by Django 1.9.9 on 2016-08-23 10:10
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import django.contrib.gis.db.models.fields
|
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
import django.db.models.deletion
|
import django.db.models.deletion
|
||||||
import parler.models
|
import parler.models
|
||||||
|
@ -46,26 +45,27 @@ class Migration(migrations.Migration):
|
||||||
('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='mapdata.MapPackage')),
|
('master', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='translations', to='mapdata.MapPackage')),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
'db_table': 'mapdata_mappackage_translation',
|
|
||||||
'db_tablespace': '',
|
|
||||||
'managed': True,
|
'managed': True,
|
||||||
'verbose_name': 'map package Translation',
|
|
||||||
'default_permissions': (),
|
'default_permissions': (),
|
||||||
|
'db_tablespace': '',
|
||||||
|
'verbose_name': 'map package Translation',
|
||||||
|
'db_table': 'mapdata_mappackage_translation',
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='MapSource',
|
name='MapSource',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('bottom', models.DecimalField(decimal_places=2, max_digits=6, verbose_name='bottom coordinate')),
|
||||||
|
('left', models.DecimalField(decimal_places=2, max_digits=6, verbose_name='left coordinate')),
|
||||||
|
('top', models.DecimalField(decimal_places=2, max_digits=6, verbose_name='top coordinate')),
|
||||||
|
('right', models.DecimalField(decimal_places=2, max_digits=6, verbose_name='right coordinate')),
|
||||||
('image', models.FileField(upload_to='mapsources/', verbose_name='source image')),
|
('image', models.FileField(upload_to='mapsources/', verbose_name='source image')),
|
||||||
('bottom_left', django.contrib.gis.db.models.fields.PointField(srid=4326, verbose_name='bottom left coordinates')),
|
|
||||||
('top_right', django.contrib.gis.db.models.fields.PointField(srid=4326, verbose_name='bottom left coordinates')),
|
|
||||||
('package', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sources', to='mapdata.MapPackage', verbose_name='map package')),
|
('package', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sources', to='mapdata.MapPackage', verbose_name='map package')),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
'abstract': False,
|
'abstract': False,
|
||||||
},
|
},
|
||||||
bases=(parler.models.TranslatableModelMixin, models.Model),
|
|
||||||
),
|
),
|
||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name='maplevel',
|
model_name='maplevel',
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
from django.contrib.gis.db import models
|
from django.db import models
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from parler.models import TranslatedFields
|
from parler.models import TranslatedFields, TranslatableModel
|
||||||
|
|
||||||
from ..models import TranslatableGeoModel
|
|
||||||
|
|
||||||
|
|
||||||
class MapPackage(TranslatableGeoModel):
|
class MapPackage(TranslatableModel):
|
||||||
"""
|
"""
|
||||||
A c3nav map package
|
A c3nav map package
|
||||||
"""
|
"""
|
||||||
|
@ -21,7 +19,7 @@ class MapPackage(TranslatableGeoModel):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class MapLevel(TranslatableGeoModel):
|
class MapLevel(TranslatableModel):
|
||||||
"""
|
"""
|
||||||
A map level (-1, 0, 1, 2…)
|
A map level (-1, 0, 1, 2…)
|
||||||
"""
|
"""
|
||||||
|
@ -30,7 +28,21 @@ class MapLevel(TranslatableGeoModel):
|
||||||
verbose_name=_('map package'))
|
verbose_name=_('map package'))
|
||||||
|
|
||||||
|
|
||||||
class MapSource(TranslatableGeoModel):
|
class BoundingBoxModel(models.Model):
|
||||||
|
bottom = models.DecimalField(_('bottom coordinate'), max_digits=6, decimal_places=2)
|
||||||
|
left = models.DecimalField(_('left coordinate'), max_digits=6, decimal_places=2)
|
||||||
|
top = models.DecimalField(_('top coordinate'), max_digits=6, decimal_places=2)
|
||||||
|
right = models.DecimalField(_('right coordinate'), max_digits=6, decimal_places=2)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def bounds(self):
|
||||||
|
return ((self.bottom, self.left), (self.top, self.right))
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
abstract = True
|
||||||
|
|
||||||
|
|
||||||
|
class MapSource(BoundingBoxModel):
|
||||||
"""
|
"""
|
||||||
A map source, images of levels that can be useful as backgrounds for the map editor
|
A map source, images of levels that can be useful as backgrounds for the map editor
|
||||||
"""
|
"""
|
||||||
|
@ -38,5 +50,3 @@ class MapSource(TranslatableGeoModel):
|
||||||
package = models.ForeignKey('MapPackage', on_delete=models.PROTECT, related_name='sources',
|
package = models.ForeignKey('MapPackage', on_delete=models.PROTECT, related_name='sources',
|
||||||
verbose_name=_('map package'))
|
verbose_name=_('map package'))
|
||||||
image = models.FileField(_('source image'), upload_to='mapsources/')
|
image = models.FileField(_('source image'), upload_to='mapsources/')
|
||||||
bottom_left = models.PointField(_('bottom left coordinates'))
|
|
||||||
top_right = models.PointField(_('bottom left coordinates'))
|
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
from django.contrib.gis.db import models
|
|
||||||
from django.contrib.gis.db.models.query import GeoQuerySet
|
|
||||||
|
|
||||||
from parler.managers import TranslatableManager, TranslatableQuerySet
|
|
||||||
from parler.models import TranslatableModel
|
|
||||||
|
|
||||||
|
|
||||||
class TranslatableGeoQuerySet(TranslatableQuerySet, GeoQuerySet):
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class TranslatableGeoManager(TranslatableManager):
|
|
||||||
queryset_class = TranslatableGeoQuerySet
|
|
||||||
|
|
||||||
|
|
||||||
class TranslatableGeoModel(TranslatableModel, models.Model):
|
|
||||||
objects = TranslatableGeoManager()
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
abstract = True
|
|
|
@ -46,10 +46,10 @@ else:
|
||||||
debug_fallback = "runserver" in sys.argv
|
debug_fallback = "runserver" in sys.argv
|
||||||
DEBUG = config.getboolean('django', 'debug', fallback=debug_fallback)
|
DEBUG = config.getboolean('django', 'debug', fallback=debug_fallback)
|
||||||
|
|
||||||
db_backend = config.get('database', 'backend', fallback='spatialite')
|
db_backend = config.get('database', 'backend', fallback='sqlite3')
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
'ENGINE': 'django.contrib.gis.db.backends.' + db_backend,
|
'ENGINE': 'django.db.backends.' + db_backend,
|
||||||
'NAME': config.get('database', 'name', fallback=os.path.join(DATA_DIR, 'db.sqlite3')),
|
'NAME': config.get('database', 'name', fallback=os.path.join(DATA_DIR, 'db.sqlite3')),
|
||||||
'USER': config.get('database', 'user', fallback=''),
|
'USER': config.get('database', 'user', fallback=''),
|
||||||
'PASSWORD': config.get('database', 'password', fallback=''),
|
'PASSWORD': config.get('database', 'password', fallback=''),
|
||||||
|
@ -58,7 +58,6 @@ DATABASES = {
|
||||||
'CONN_MAX_AGE': 0 if db_backend == 'sqlite3' else 120
|
'CONN_MAX_AGE': 0 if db_backend == 'sqlite3' else 120
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SPATIALITE_LIBRARY_PATH = 'mod_spatialite'
|
|
||||||
|
|
||||||
STATIC_URL = config.get('urls', 'static', fallback='/static/')
|
STATIC_URL = config.get('urls', 'static', fallback='/static/')
|
||||||
|
|
||||||
|
@ -106,7 +105,6 @@ INSTALLED_APPS = [
|
||||||
'django.contrib.sessions',
|
'django.contrib.sessions',
|
||||||
'django.contrib.messages',
|
'django.contrib.messages',
|
||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
'django.contrib.gis',
|
|
||||||
'compressor',
|
'compressor',
|
||||||
'bootstrap3',
|
'bootstrap3',
|
||||||
'c3nav.control',
|
'c3nav.control',
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue