diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-03-28 12:24:42 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-12-12 12:21:00 +0100 |
commit | 69c2ef08e8cb3fb4b23a9bf7764386c95954e002 (patch) | |
tree | a3ca2eb5dfac2eba335dbc8569203788a60c515d /ishtar_common/migrations | |
parent | fd5e263585f9f6b9a7ec92f7aa57f63435f5f718 (diff) | |
download | Ishtar-69c2ef08e8cb3fb4b23a9bf7764386c95954e002.tar.bz2 Ishtar-69c2ef08e8cb3fb4b23a9bf7764386c95954e002.zip |
Squash database migrations
Diffstat (limited to 'ishtar_common/migrations')
-rw-r--r-- | ishtar_common/migrations/0217_auto_20220328_1222.py (renamed from ishtar_common/migrations/0217_auto_20211103_1422.py) | 197 | ||||
-rw-r--r-- | ishtar_common/migrations/0218_apisheetfilter.py | 26 | ||||
-rw-r--r-- | ishtar_common/migrations/0219_auto_20220120_1552.py | 33 | ||||
-rw-r--r-- | ishtar_common/migrations/0220_auto_20220317_1120.py | 148 |
4 files changed, 189 insertions, 215 deletions
diff --git a/ishtar_common/migrations/0217_auto_20211103_1422.py b/ishtar_common/migrations/0217_auto_20220328_1222.py index 103c01840..68135361d 100644 --- a/ishtar_common/migrations/0217_auto_20211103_1422.py +++ b/ishtar_common/migrations/0217_auto_20220328_1222.py @@ -1,17 +1,21 @@ -# Generated by Django 2.2.24 on 2021-11-03 14:22 +# Generated by Django 2.2.24 on 2022-03-28 12:22 from django.conf import settings +import django.contrib.gis.db.models.fields import django.contrib.postgres.fields import django.contrib.postgres.fields.jsonb +import django.core.validators from django.db import migrations, models import django.db.models.deletion +import ishtar_common.models_common +import re class Migration(migrations.Migration): dependencies = [ - ('contenttypes', '0002_remove_content_type_name'), ('auth', '0011_update_proxy_permissions'), + ('contenttypes', '0002_remove_content_type_name'), ('ishtar_common', '0216_auto_20210805_1703'), ] @@ -24,10 +28,24 @@ class Migration(migrations.Migration): ('name', models.CharField(max_length=200, verbose_name='Name')), ('key', models.CharField(max_length=40, verbose_name='Key')), ('match_document', models.FileField(blank=True, help_text='First use the "Update types from source" action. Then use the action "Generate match document" action to create a default match document. Complete it and attach it back to the source to finally use the action "Update association from match document".', null=True, upload_to='', verbose_name='Match document')), + ('users', models.ManyToManyField(blank=True, to='ishtar_common.IshtarUser')), ], options={ 'verbose_name': 'API - Search - External source', 'verbose_name_plural': 'API - Search - External sources', + 'ordering': ('name',), + }, + ), + migrations.CreateModel( + name='ApiSearchModel', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('limit_query', models.TextField(blank=True, help_text='Search query add to each request', null=True, verbose_name='Limit query')), + ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), + ], + options={ + 'verbose_name': 'API - Remote access - Search model', + 'verbose_name_plural': 'API - Remote access - Search models', }, ), migrations.CreateModel( @@ -41,6 +59,92 @@ class Migration(migrations.Migration): 'verbose_name_plural': 'API - Remote access - Users', }, ), + migrations.CreateModel( + name='GeoDataType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoDataType', verbose_name='Parent')), + ], + options={ + 'verbose_name': 'Geographic - Data type', + 'verbose_name_plural': 'Geographic - Data types', + 'ordering': ('order', 'label'), + }, + bases=(ishtar_common.models_common.Cached, models.Model), + ), + migrations.CreateModel( + name='GeoOriginType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoOriginType', verbose_name='Parent')), + ], + options={ + 'verbose_name': 'Geographic - Origin type', + 'verbose_name_plural': 'Geographic - Origin types', + 'ordering': ('order', 'label'), + }, + bases=(ishtar_common.models_common.Cached, models.Model), + ), + migrations.CreateModel( + name='GeoProviderType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoProviderType', verbose_name='Parent')), + ], + options={ + 'verbose_name': 'Geographic - Provider type', + 'verbose_name_plural': 'Geographic - Provider types', + 'ordering': ('order', 'label'), + }, + bases=(ishtar_common.models_common.Cached, models.Model), + ), + migrations.AlterModelOptions( + name='area', + options={'ordering': ('label',), 'verbose_name': 'Town - Area', 'verbose_name_plural': 'Town - Areas'}, + ), + migrations.AlterModelOptions( + name='person', + options={'ordering': ['name', 'surname'], 'permissions': (('view_own_person', 'Can view own Person'), ('add_own_person', 'Can add own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')), 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'}, + ), + migrations.AlterModelOptions( + name='spatialreferencesystem', + options={'ordering': ('order', 'label'), 'verbose_name': 'Spatial reference system', 'verbose_name_plural': 'Spatial reference systems'}, + ), + migrations.AddField( + model_name='importertype', + name='is_main_geometry', + field=models.BooleanField(default=True, help_text='Only relevant for GIS files', verbose_name='Set to main geometry'), + ), + migrations.AddField( + model_name='importertype', + name='layer_name', + field=models.CharField(blank=True, help_text='For GIS file with multiple layers', max_length=200, null=True, verbose_name='Layer name'), + ), + migrations.AddField( + model_name='importertype', + name='type', + field=models.CharField(choices=[('tab', 'Table'), ('gis', 'GIS')], default='tab', max_length=3, verbose_name='Type'), + ), + migrations.AlterField( + model_name='area', + name='reference', + field=models.TextField(blank=True, default='', verbose_name='Reference'), + ), migrations.AlterField( model_name='author', name='author_type', @@ -63,6 +167,11 @@ class Migration(migrations.Migration): ), migrations.AlterField( model_name='document', + name='last_modified', + field=models.DateTimeField(), + ), + migrations.AlterField( + model_name='document', name='publisher', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='publish', to='ishtar_common.Organization', verbose_name='Publisher'), ), @@ -83,6 +192,11 @@ class Migration(migrations.Migration): ), migrations.AlterField( model_name='historicalorganization', + name='last_modified', + field=models.DateTimeField(), + ), + migrations.AlterField( + model_name='historicalorganization', name='mobile_phone', field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Mobile phone'), ), @@ -113,6 +227,11 @@ class Migration(migrations.Migration): ), migrations.AlterField( model_name='historicalperson', + name='last_modified', + field=models.DateTimeField(), + ), + migrations.AlterField( + model_name='historicalperson', name='mobile_phone', field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Mobile phone'), ), @@ -173,6 +292,11 @@ class Migration(migrations.Migration): ), migrations.AlterField( model_name='organization', + name='last_modified', + field=models.DateTimeField(), + ), + migrations.AlterField( + model_name='organization', name='mobile_phone', field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Mobile phone'), ), @@ -213,6 +337,11 @@ class Migration(migrations.Migration): ), migrations.AlterField( model_name='person', + name='last_modified', + field=models.DateTimeField(), + ), + migrations.AlterField( + model_name='person', name='mobile_phone', field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Mobile phone'), ), @@ -262,19 +391,56 @@ class Migration(migrations.Migration): field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.ProfileType', verbose_name='Profile type'), ), migrations.CreateModel( - name='ApiSearchModel', + name='GeoVectorData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('limit_query', models.TextField(blank=True, help_text='Search query add to each request', null=True, verbose_name='Limit query')), - ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), - ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.ApiUser')), + ('name', models.TextField(default='Default', verbose_name='Name')), + ('source_id', models.PositiveIntegerField()), + ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), + ('x', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='X')), + ('y', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='Y')), + ('z', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='Z')), + ('cached_x', models.FloatField(blank=True, null=True, verbose_name='X (cached)')), + ('cached_y', models.FloatField(blank=True, null=True, verbose_name='Y (cached)')), + ('cached_z', models.FloatField(blank=True, null=True, verbose_name='Z (cached)')), + ('estimated_error_x', models.FloatField(blank=True, null=True, verbose_name='Estimated error for X')), + ('estimated_error_y', models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y')), + ('estimated_error_z', models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z')), + ('point_2d', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326, verbose_name='Point (2D)')), + ('point_3d', django.contrib.gis.db.models.fields.PointField(blank=True, dim=3, null=True, srid=4326, verbose_name='Point (3D)')), + ('multi_points', django.contrib.gis.db.models.fields.MultiPointField(blank=True, null=True, srid=4326, verbose_name='Multi points')), + ('multi_line', django.contrib.gis.db.models.fields.MultiLineStringField(blank=True, null=True, srid=4326, verbose_name='Multi line')), + ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon')), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('data_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoDataType', verbose_name='Data type')), + ('origin', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoOriginType', verbose_name='Origin')), + ('provider', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoProviderType', verbose_name='Provider')), + ('source_content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_type_geovectordata', to='contenttypes.ContentType')), + ('spatial_reference_system', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System')), ], options={ - 'verbose_name': 'API - Remote access - Search model', - 'verbose_name_plural': 'API - Remote access - Search models', + 'verbose_name': 'Geographic - Vector data', + 'verbose_name_plural': 'Geographic - Vector data', }, ), migrations.CreateModel( + name='ApiSheetFilter', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('key', models.CharField(max_length=200, verbose_name='Key')), + ('api_search_model', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sheet_filters', to='ishtar_common.ApiSearchModel')), + ], + options={ + 'verbose_name': 'API - Remote access - Sheet filter', + 'verbose_name_plural': 'API - Remote access - Sheet filters', + }, + ), + migrations.AddField( + model_name='apisearchmodel', + name='user', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.ApiUser'), + ), + migrations.CreateModel( name='ApiKeyMatch', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), @@ -293,4 +459,19 @@ class Migration(migrations.Migration): 'verbose_name_plural': 'API - Search - Keys matches', }, ), + migrations.AddField( + model_name='town', + name='geodata', + field=models.ManyToManyField(blank=True, related_name='related_items_ishtar_common_town', to='ishtar_common.GeoVectorData'), + ), + migrations.AddField( + model_name='town', + name='main_geodata', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_ishtar_common_town', to='ishtar_common.GeoVectorData'), + ), + migrations.AddField( + model_name='userprofile', + name='external_sources', + field=models.ManyToManyField(blank=True, related_name='profiles', to='ishtar_common.ApiExternalSource'), + ), ] diff --git a/ishtar_common/migrations/0218_apisheetfilter.py b/ishtar_common/migrations/0218_apisheetfilter.py deleted file mode 100644 index cf9d5f594..000000000 --- a/ishtar_common/migrations/0218_apisheetfilter.py +++ /dev/null @@ -1,26 +0,0 @@ -# Generated by Django 2.2.24 on 2021-12-20 12:20 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('ishtar_common', '0217_auto_20211103_1422'), - ] - - operations = [ - migrations.CreateModel( - name='ApiSheetFilter', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('key', models.CharField(max_length=200, verbose_name='Key')), - ('api_search_model', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.ApiSearchModel')), - ], - options={ - 'verbose_name': 'API - Remote access - Sheet filter', - 'verbose_name_plural': 'API - Remote access - Sheet filters', - }, - ), - ] diff --git a/ishtar_common/migrations/0219_auto_20220120_1552.py b/ishtar_common/migrations/0219_auto_20220120_1552.py deleted file mode 100644 index 58d5930a9..000000000 --- a/ishtar_common/migrations/0219_auto_20220120_1552.py +++ /dev/null @@ -1,33 +0,0 @@ -# Generated by Django 2.2.24 on 2022-01-20 15:52 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - - dependencies = [ - ('ishtar_common', '0218_apisheetfilter'), - ] - - operations = [ - migrations.AlterModelOptions( - name='apiexternalsource', - options={'ordering': ('name',), 'verbose_name': 'API - Search - External source', 'verbose_name_plural': 'API - Search - External sources'}, - ), - migrations.AddField( - model_name='apiexternalsource', - name='users', - field=models.ManyToManyField(blank=True, to='ishtar_common.IshtarUser'), - ), - migrations.AddField( - model_name='userprofile', - name='external_sources', - field=models.ManyToManyField(blank=True, related_name='profiles', to='ishtar_common.ApiExternalSource'), - ), - migrations.AlterField( - model_name='apisheetfilter', - name='api_search_model', - field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sheet_filters', to='ishtar_common.ApiSearchModel'), - ), - ] diff --git a/ishtar_common/migrations/0220_auto_20220317_1120.py b/ishtar_common/migrations/0220_auto_20220317_1120.py deleted file mode 100644 index 5103b6178..000000000 --- a/ishtar_common/migrations/0220_auto_20220317_1120.py +++ /dev/null @@ -1,148 +0,0 @@ -# Generated by Django 2.2.24 on 2022-03-17 11:20 - -import django.contrib.gis.db.models.fields -import django.core.validators -from django.db import migrations, models -import django.db.models.deletion -import ishtar_common.models_common -import re - - -class Migration(migrations.Migration): - - dependencies = [ - ('contenttypes', '0002_remove_content_type_name'), - ('ishtar_common', '0219_auto_20220120_1552'), - ] - - operations = [ - migrations.CreateModel( - name='GeoDataType', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('label', models.TextField(verbose_name='Label')), - ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), - ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), - ('available', models.BooleanField(default=True, verbose_name='Available')), - ('order', models.IntegerField(default=10, verbose_name='Order')), - ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoDataType', verbose_name='Parent')), - ], - options={ - 'verbose_name': 'Geographic - Data type', - 'verbose_name_plural': 'Geographic - Data types', - 'ordering': ('order', 'label'), - }, - bases=(ishtar_common.models_common.Cached, models.Model), - ), - migrations.CreateModel( - name='GeoOriginType', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('label', models.TextField(verbose_name='Label')), - ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), - ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), - ('available', models.BooleanField(default=True, verbose_name='Available')), - ('order', models.IntegerField(default=10, verbose_name='Order')), - ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoOriginType', verbose_name='Parent')), - ], - options={ - 'verbose_name': 'Geographic - Origin type', - 'verbose_name_plural': 'Geographic - Origin types', - 'ordering': ('order', 'label'), - }, - bases=(ishtar_common.models_common.Cached, models.Model), - ), - migrations.CreateModel( - name='GeoProviderType', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('label', models.TextField(verbose_name='Label')), - ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), - ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), - ('available', models.BooleanField(default=True, verbose_name='Available')), - ('order', models.IntegerField(default=10, verbose_name='Order')), - ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoProviderType', verbose_name='Parent')), - ], - options={ - 'verbose_name': 'Geographic - Provider type', - 'verbose_name_plural': 'Geographic - Provider types', - 'ordering': ('order', 'label'), - }, - bases=(ishtar_common.models_common.Cached, models.Model), - ), - migrations.AlterModelOptions( - name='area', - options={'ordering': ('label',), 'verbose_name': 'Town - Area', 'verbose_name_plural': 'Town - Areas'}, - ), - migrations.AlterModelOptions( - name='person', - options={'ordering': ['name', 'surname'], 'permissions': (('view_own_person', 'Can view own Person'), ('add_own_person', 'Can add own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')), 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'}, - ), - migrations.AlterModelOptions( - name='spatialreferencesystem', - options={'ordering': ('order', 'label'), 'verbose_name': 'Spatial reference system', 'verbose_name_plural': 'Spatial reference systems'}, - ), - migrations.AddField( - model_name='importertype', - name='is_main_geometry', - field=models.BooleanField(default=True, help_text='Only relevant for GIS files', verbose_name='Set to main geometry'), - ), - migrations.AddField( - model_name='importertype', - name='layer_name', - field=models.CharField(blank=True, help_text='For GIS file with multiple layers', max_length=200, null=True, verbose_name='Layer name'), - ), - migrations.AddField( - model_name='importertype', - name='type', - field=models.CharField(choices=[('tab', 'Table'), ('gis', 'GIS')], default='tab', max_length=3, verbose_name='Type'), - ), - migrations.AlterField( - model_name='area', - name='reference', - field=models.TextField(blank=True, default='', verbose_name='Reference'), - ), - migrations.CreateModel( - name='GeoVectorData', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.TextField(default='Default', verbose_name='Name')), - ('source_id', models.PositiveIntegerField()), - ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), - ('x', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='X')), - ('y', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='Y')), - ('z', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='Z')), - ('cached_x', models.FloatField(blank=True, null=True, verbose_name='X (cached)')), - ('cached_y', models.FloatField(blank=True, null=True, verbose_name='Y (cached)')), - ('cached_z', models.FloatField(blank=True, null=True, verbose_name='Z (cached)')), - ('estimated_error_x', models.FloatField(blank=True, null=True, verbose_name='Estimated error for X')), - ('estimated_error_y', models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y')), - ('estimated_error_z', models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z')), - ('point_2d', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326, verbose_name='Point (2D)')), - ('point_3d', django.contrib.gis.db.models.fields.PointField(blank=True, dim=3, null=True, srid=4326, verbose_name='Point (3D)')), - ('multi_points', django.contrib.gis.db.models.fields.MultiPointField(blank=True, null=True, srid=4326, verbose_name='Multi points')), - ('multi_line', django.contrib.gis.db.models.fields.MultiLineStringField(blank=True, null=True, srid=4326, verbose_name='Multi line')), - ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon')), - ('need_update', models.BooleanField(default=False, verbose_name='Need update')), - ('data_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoDataType', verbose_name='Data type')), - ('origin', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoOriginType', verbose_name='Origin')), - ('provider', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoProviderType', verbose_name='Provider')), - ('source_content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_type_geovectordata', to='contenttypes.ContentType')), - ('spatial_reference_system', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System')), - ], - options={ - 'verbose_name': 'Geographic - Vector data', - 'verbose_name_plural': 'Geographic - Vector data', - }, - ), - migrations.AddField( - model_name='town', - name='geodata', - field=models.ManyToManyField(blank=True, related_name='related_items_ishtar_common_town', to='ishtar_common.GeoVectorData'), - ), - migrations.AddField( - model_name='town', - name='main_geodata', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_ishtar_common_town', to='ishtar_common.GeoVectorData'), - ), - ] |