DataOverlayFeature needs LevelGeometryMixin
This commit is contained in:
parent
90e68b7bbf
commit
e6d2afc99b
2 changed files with 6 additions and 5 deletions
|
@ -56,7 +56,7 @@ def _get_geometries_for_one_level(level):
|
|||
|
||||
results.extend(sorted(spaces.values(), key=space_sorting_func))
|
||||
|
||||
results.extend(level.data_overlay_features.all())
|
||||
results.extend(level.dataoverlayfeatures.all())
|
||||
|
||||
return results
|
||||
|
||||
|
@ -148,7 +148,7 @@ def get_level_geometries_result(request, level_id: int, update_cache_key: str, u
|
|||
Prefetch('spaces__beacon_measurements', BeaconMeasurement.objects.only('geometry', 'space')),
|
||||
Prefetch('spaces__ranging_beacons', RangingBeacon.objects.only('geometry', 'space')),
|
||||
Prefetch('spaces__graphnodes', graphnodes_qs),
|
||||
Prefetch('data_overlay_features', DataOverlayFeature.objects.only('geometry', 'overlay_id', 'level'))
|
||||
Prefetch('dataoverlayfeatures', DataOverlayFeature.objects.only('geometry', 'overlay_id', 'level'))
|
||||
)
|
||||
|
||||
levels = {s.pk: s for s in levels}
|
||||
|
|
|
@ -7,7 +7,7 @@ from django_pydantic_field import SchemaField
|
|||
from c3nav.mapdata.fields import GeometryField
|
||||
from c3nav.mapdata.models.access import AccessRestrictionMixin
|
||||
from c3nav.mapdata.models.base import TitledMixin
|
||||
from c3nav.mapdata.models.geometry.base import GeometryMixin
|
||||
from c3nav.mapdata.models.geometry.level import LevelGeometryMixin
|
||||
from c3nav.mapdata.utils.geometry import smart_mapping
|
||||
from c3nav.mapdata.utils.json import format_geojson
|
||||
|
||||
|
@ -16,6 +16,7 @@ class DataOverlay(TitledMixin, AccessRestrictionMixin, models.Model):
|
|||
class GeometryType(models.TextChoices):
|
||||
POLYGON = "polygon", _("Polygon")
|
||||
LINESTRING = "linestring", _("Line string")
|
||||
MULTIPOINT = "multipoint", _("Multipoint")
|
||||
POINT = "point", _("Point")
|
||||
|
||||
description = models.TextField(blank=True, verbose_name=_('Description'))
|
||||
|
@ -38,10 +39,10 @@ class DataOverlay(TitledMixin, AccessRestrictionMixin, models.Model):
|
|||
default_related_name = 'dataoverlays'
|
||||
|
||||
|
||||
class DataOverlayFeature(TitledMixin, GeometryMixin, models.Model):
|
||||
class DataOverlayFeature(TitledMixin, LevelGeometryMixin, models.Model):
|
||||
overlay = models.ForeignKey('mapdata.DataOverlay', on_delete=models.CASCADE, verbose_name=_('Overlay'), related_name='features')
|
||||
geometry = GeometryField()
|
||||
level = models.ForeignKey('mapdata.Level', on_delete=models.CASCADE, verbose_name=_('level'), related_name='data_overlay_features')
|
||||
# level = models.ForeignKey('mapdata.Level', on_delete=models.CASCADE, verbose_name=_('level'), related_name='data_overlay_features')
|
||||
external_url = models.URLField(blank=True, null=True, verbose_name=_('external URL'))
|
||||
stroke_color = models.CharField(max_length=255, blank=True, null=True, verbose_name=_('stroke color'))
|
||||
stroke_width = models.FloatField(blank=True, null=True, verbose_name=_('stroke width'))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue