diff --git a/src/c3nav/mapdata/models/base.py b/src/c3nav/mapdata/models/base.py index 1303ef53..308fab57 100644 --- a/src/c3nav/mapdata/models/base.py +++ b/src/c3nav/mapdata/models/base.py @@ -47,10 +47,8 @@ class TitledMixin(SerializableMixin, models.Model): super().__init__(*args, **kwargs) self.titles = self.titles.copy() - def serialize(self, detailed=True, **kwargs): - result = super().serialize(detailed=detailed, **kwargs) - if not detailed: - result.pop('title', None) + def serialize(self, **kwargs): + result = super().serialize(**kwargs) return result def _serialize(self, **kwargs): diff --git a/src/c3nav/mapdata/models/locations.py b/src/c3nav/mapdata/models/locations.py index d702711a..f138e2da 100644 --- a/src/c3nav/mapdata/models/locations.py +++ b/src/c3nav/mapdata/models/locations.py @@ -1,3 +1,4 @@ +from collections import OrderedDict from contextlib import suppress from django.apps import apps @@ -73,10 +74,9 @@ class Location(LocationSlug, AccessRestrictionMixin, TitledMixin, models.Model): def serialize(self, detailed=True, **kwargs): result = super().serialize(detailed=detailed, **kwargs) if not detailed: - result.pop('type', None) - result.pop('id', None) - result.pop('slug', None) - result.pop('target', None) + result = OrderedDict(( + (name, result[name]) for name in ('slug', 'title', 'subtitle') + )) return result def _serialize(self, **kwargs):