Remove id field from mapdata models and make name their primary key
This commit is contained in:
parent
5397a4d2d4
commit
4b5f13ea48
6 changed files with 11 additions and 34 deletions
|
@ -1,5 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- 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 __future__ import unicode_literals
|
||||||
|
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
@ -17,8 +17,7 @@ class Migration(migrations.Migration):
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='Feature',
|
name='Feature',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('name', models.SlugField(help_text='e.g. noc', primary_key=True, serialize=False, verbose_name='feature identifier')),
|
||||||
('name', models.CharField(help_text='e.g. noc', max_length=50, unique=True, verbose_name='feature identifier')),
|
|
||||||
('type', models.CharField(choices=[('building', 'Building'), ('room', 'Room'), ('obstacle', 'Obstacle')], max_length=50)),
|
('type', models.CharField(choices=[('building', 'Building'), ('room', 'Room'), ('obstacle', 'Obstacle')], max_length=50)),
|
||||||
('geometry', models.TextField()),
|
('geometry', models.TextField()),
|
||||||
],
|
],
|
||||||
|
@ -35,28 +34,26 @@ class Migration(migrations.Migration):
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='Level',
|
name='Level',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('name', models.SlugField(help_text='Usually just an integer (e.g. -1, 0, 1, 2)', primary_key=True, serialize=False, verbose_name='level name')),
|
||||||
('name', models.CharField(help_text='Usually just an integer (e.g. -1, 0, 1, 2)', max_length=50, unique=True, verbose_name='level name')),
|
|
||||||
('altitude', models.DecimalField(decimal_places=2, max_digits=6, null=True, verbose_name='level altitude')),
|
('altitude', models.DecimalField(decimal_places=2, max_digits=6, null=True, verbose_name='level altitude')),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='Package',
|
name='Package',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('name', models.SlugField(help_text='e.g. de.c3nav.33c3.base', primary_key=True, serialize=False, verbose_name='package identifier')),
|
||||||
('name', models.CharField(help_text='e.g. de.c3nav.33c3.base', max_length=50, unique=True, verbose_name='package identifier')),
|
|
||||||
('bottom', models.DecimalField(decimal_places=2, max_digits=6, null=True, verbose_name='bottom coordinate')),
|
('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')),
|
('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')),
|
('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')),
|
('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')),
|
('directory', models.CharField(max_length=100, verbose_name='folder name')),
|
||||||
|
('depends', models.ManyToManyField(to='mapdata.Package')),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='Source',
|
name='Source',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('name', models.SlugField(primary_key=True, serialize=False, verbose_name='source name')),
|
||||||
('name', models.SlugField(unique=True, verbose_name='source name')),
|
|
||||||
('bottom', models.DecimalField(decimal_places=2, max_digits=6, verbose_name='bottom coordinate')),
|
('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')),
|
('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')),
|
('top', models.DecimalField(decimal_places=2, max_digits=6, verbose_name='top coordinate')),
|
||||||
|
|
|
@ -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'),
|
|
||||||
),
|
|
||||||
]
|
|
|
@ -12,7 +12,7 @@ class Feature(models.Model):
|
||||||
('obstacle', _('Obstacle')),
|
('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',
|
package = models.ForeignKey('Package', on_delete=models.CASCADE, related_name='features',
|
||||||
verbose_name=_('map package'))
|
verbose_name=_('map package'))
|
||||||
type = models.CharField(max_length=50, choices=TYPES)
|
type = models.CharField(max_length=50, choices=TYPES)
|
||||||
|
|
|
@ -6,7 +6,7 @@ class Level(models.Model):
|
||||||
"""
|
"""
|
||||||
A map level (-1, 0, 1, 2…)
|
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)'))
|
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)
|
altitude = models.DecimalField(_('level altitude'), null=True, max_digits=6, decimal_places=2)
|
||||||
package = models.ForeignKey('Package', on_delete=models.CASCADE, related_name='levels',
|
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.')
|
raise ValueError('%s.json: altitude has to be in or float.')
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'package': package,
|
|
||||||
'name': name,
|
'name': name,
|
||||||
|
'package': package,
|
||||||
'altitude': data['altitude'],
|
'altitude': data['altitude'],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ class Package(models.Model):
|
||||||
"""
|
"""
|
||||||
A c3nav map package
|
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'))
|
help_text=_('e.g. de.c3nav.33c3.base'))
|
||||||
depends = models.ManyToManyField('Package')
|
depends = models.ManyToManyField('Package')
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ class Source(models.Model):
|
||||||
"""
|
"""
|
||||||
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
|
||||||
"""
|
"""
|
||||||
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',
|
package = models.ForeignKey('Package', on_delete=models.CASCADE, related_name='sources',
|
||||||
verbose_name=_('map package'))
|
verbose_name=_('map package'))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue