diff --git a/src/c3nav/mapdata/migrations/0001_initial.py b/src/c3nav/mapdata/migrations/0001_initial.py index 2a3f4373..1c117d0c 100644 --- a/src/c3nav/mapdata/migrations/0001_initial.py +++ b/src/c3nav/mapdata/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.9.9 on 2016-08-30 15:54 +# Generated by Django 1.9.9 on 2016-09-11 17:27 from __future__ import unicode_literals from django.db import migrations, models @@ -17,8 +17,7 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Feature', fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(help_text='e.g. noc', max_length=50, unique=True, verbose_name='feature identifier')), + ('name', models.SlugField(help_text='e.g. noc', primary_key=True, serialize=False, verbose_name='feature identifier')), ('type', models.CharField(choices=[('building', 'Building'), ('room', 'Room'), ('obstacle', 'Obstacle')], max_length=50)), ('geometry', models.TextField()), ], @@ -35,28 +34,26 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Level', fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(help_text='Usually just an integer (e.g. -1, 0, 1, 2)', max_length=50, unique=True, verbose_name='level name')), + ('name', models.SlugField(help_text='Usually just an integer (e.g. -1, 0, 1, 2)', primary_key=True, serialize=False, verbose_name='level name')), ('altitude', models.DecimalField(decimal_places=2, max_digits=6, null=True, verbose_name='level altitude')), ], ), migrations.CreateModel( name='Package', fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.CharField(help_text='e.g. de.c3nav.33c3.base', max_length=50, unique=True, verbose_name='package identifier')), + ('name', models.SlugField(help_text='e.g. de.c3nav.33c3.base', primary_key=True, serialize=False, verbose_name='package identifier')), ('bottom', models.DecimalField(decimal_places=2, max_digits=6, null=True, verbose_name='bottom coordinate')), ('left', models.DecimalField(decimal_places=2, max_digits=6, null=True, verbose_name='left coordinate')), ('top', models.DecimalField(decimal_places=2, max_digits=6, null=True, verbose_name='top coordinate')), ('right', models.DecimalField(decimal_places=2, max_digits=6, null=True, verbose_name='right coordinate')), ('directory', models.CharField(max_length=100, verbose_name='folder name')), + ('depends', models.ManyToManyField(to='mapdata.Package')), ], ), migrations.CreateModel( name='Source', fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('name', models.SlugField(unique=True, verbose_name='source name')), + ('name', models.SlugField(primary_key=True, serialize=False, verbose_name='source name')), ('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')), diff --git a/src/c3nav/mapdata/migrations/0002_package_depends.py b/src/c3nav/mapdata/migrations/0002_package_depends.py deleted file mode 100644 index ffe5c02e..00000000 --- a/src/c3nav/mapdata/migrations/0002_package_depends.py +++ /dev/null @@ -1,20 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.9.9 on 2016-09-04 12:20 -from __future__ import unicode_literals - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('mapdata', '0001_initial'), - ] - - operations = [ - migrations.AddField( - model_name='package', - name='depends', - field=models.ManyToManyField(to='mapdata.Package'), - ), - ] diff --git a/src/c3nav/mapdata/models/feature.py b/src/c3nav/mapdata/models/feature.py index 79bec881..a582464e 100644 --- a/src/c3nav/mapdata/models/feature.py +++ b/src/c3nav/mapdata/models/feature.py @@ -12,7 +12,7 @@ class Feature(models.Model): ('obstacle', _('Obstacle')), ) - name = models.CharField(_('feature identifier'), unique=True, max_length=50, help_text=_('e.g. noc')) + name = models.SlugField(_('feature identifier'), primary_key=True, max_length=50, help_text=_('e.g. noc')) package = models.ForeignKey('Package', on_delete=models.CASCADE, related_name='features', verbose_name=_('map package')) type = models.CharField(max_length=50, choices=TYPES) diff --git a/src/c3nav/mapdata/models/level.py b/src/c3nav/mapdata/models/level.py index a791c58a..33bf636e 100644 --- a/src/c3nav/mapdata/models/level.py +++ b/src/c3nav/mapdata/models/level.py @@ -6,7 +6,7 @@ class Level(models.Model): """ A map level (-1, 0, 1, 2…) """ - name = models.CharField(_('level name'), max_length=50, unique=True, + name = models.SlugField(_('level name'), primary_key=True, max_length=50, help_text=_('Usually just an integer (e.g. -1, 0, 1, 2)')) altitude = models.DecimalField(_('level altitude'), null=True, max_digits=6, decimal_places=2) package = models.ForeignKey('Package', on_delete=models.CASCADE, related_name='levels', @@ -21,8 +21,8 @@ class Level(models.Model): raise ValueError('%s.json: altitude has to be in or float.') return { - 'package': package, 'name': name, + 'package': package, 'altitude': data['altitude'], } diff --git a/src/c3nav/mapdata/models/package.py b/src/c3nav/mapdata/models/package.py index c7543a30..394b924e 100644 --- a/src/c3nav/mapdata/models/package.py +++ b/src/c3nav/mapdata/models/package.py @@ -8,7 +8,7 @@ class Package(models.Model): """ A c3nav map package """ - name = models.CharField(_('package identifier'), unique=True, max_length=50, + name = models.SlugField(_('package identifier'), primary_key=True, max_length=50, help_text=_('e.g. de.c3nav.33c3.base')) depends = models.ManyToManyField('Package') diff --git a/src/c3nav/mapdata/models/source.py b/src/c3nav/mapdata/models/source.py index f471bbdf..2b8ae19c 100644 --- a/src/c3nav/mapdata/models/source.py +++ b/src/c3nav/mapdata/models/source.py @@ -8,7 +8,7 @@ class Source(models.Model): """ A map source, images of levels that can be useful as backgrounds for the map editor """ - name = models.SlugField(_('source name'), max_length=50, unique=True) + name = models.SlugField(_('source name'), primary_key=True, max_length=50) package = models.ForeignKey('Package', on_delete=models.CASCADE, related_name='sources', verbose_name=_('map package'))