diff --git a/src/c3nav/mapdata/api.py b/src/c3nav/mapdata/api.py index d8a13c4b..a8d766b5 100644 --- a/src/c3nav/mapdata/api.py +++ b/src/c3nav/mapdata/api.py @@ -63,7 +63,12 @@ class GeometryViewSet(ViewSet): if names: queryset = queryset.filter(name__in=names) queryset = filter_queryset_by_package_access(request, queryset) - queryset.prefetch_related('package', 'level').order_by('name') + queryset = queryset.order_by('name') + print(mapitemtype) + for field_name in ('package', 'level', 'levels', 'crop_to_level', 'elevator'): + if hasattr(mapitemtype, field_name): + print(field_name) + queryset = queryset.prefetch_related(field_name) results.extend(sum((obj.to_geojson() for obj in queryset), [])) return Response(results)