Add level to Feature
This commit is contained in:
parent
02cafee6be
commit
84c75df574
4 changed files with 35 additions and 3 deletions
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
22
src/c3nav/mapdata/migrations/0005_feature_level.py
Normal file
22
src/c3nav/mapdata/migrations/0005_feature_level.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.10.1 on 2016-09-23 10:58
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('mapdata', '0004_auto_20160920_1356'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='feature',
|
||||||
|
name='level',
|
||||||
|
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='features', to='mapdata.Level', verbose_name='level'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
|
@ -3,11 +3,13 @@ from collections import OrderedDict, namedtuple
|
||||||
from django.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 c3nav.mapdata.models.level import Level
|
||||||
|
from c3nav.mapdata.models.package import Package
|
||||||
from ..fields import GeometryField
|
from ..fields import GeometryField
|
||||||
|
|
||||||
|
|
||||||
class FeatureType(namedtuple('FeatureType', ('name', 'title', 'title_plural', 'geomtype', 'color'))):
|
class FeatureType(namedtuple('FeatureType', ('name', 'title', 'title_plural', 'geomtype', 'color'))):
|
||||||
def __init__(self, *args, **kwartgs):
|
def __init__(self, *args, **kwargs):
|
||||||
FEATURE_TYPES[self.name] = self
|
FEATURE_TYPES[self.name] = self
|
||||||
|
|
||||||
FEATURE_TYPES = OrderedDict()
|
FEATURE_TYPES = OrderedDict()
|
||||||
|
@ -27,9 +29,11 @@ class Feature(models.Model):
|
||||||
TYPES = tuple((name, t.title) for name, t in FEATURE_TYPES.items())
|
TYPES = tuple((name, t.title) for name, t in FEATURE_TYPES.items())
|
||||||
|
|
||||||
name = models.SlugField(_('feature identifier'), primary_key=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'))
|
||||||
feature_type = models.CharField(max_length=50, choices=TYPES)
|
feature_type = models.CharField(max_length=50, choices=TYPES)
|
||||||
|
level = models.ForeignKey(Level, on_delete=models.CASCADE, related_name='features',
|
||||||
|
verbose_name=_('level'))
|
||||||
geometry = GeometryField()
|
geometry = GeometryField()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -59,4 +59,4 @@ class FeatureSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Feature
|
model = Feature
|
||||||
fields = ('name', 'package', 'feature_type', 'geometry')
|
fields = ('name', 'package', 'level', 'feature_type', 'geometry')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue