Add level to Feature

This commit is contained in:
Laura Klünder 2016-09-23 13:05:15 +02:00
parent 02cafee6be
commit 84c75df574
4 changed files with 35 additions and 3 deletions

View file

@ -3,11 +3,13 @@ from collections import OrderedDict, namedtuple
from django.db import models
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
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 = OrderedDict()
@ -27,9 +29,11 @@ class Feature(models.Model):
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'))
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'))
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()