From 249b61cb30a3b1e6aad4ac518cf2bf0f44fa1b77 Mon Sep 17 00:00:00 2001 From: Mario Raciti <mario.raciti@inaf.it> Date: Tue, 27 Apr 2021 18:11:18 +0200 Subject: [PATCH] TMSS-736: Add remaining filtering and ordering info --- .../src/tmss/tmssapp/viewsets/metadata.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py index d781ab26ab0..ab7530f4260 100644 --- a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py +++ b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py @@ -16,16 +16,19 @@ class LOFARDefaultMetadata(SimpleMetadata): metadata['filters'] = OrderedDict() if hasattr(view, 'filter_fields'): + all_fields = view.get_serializer().Meta.model._meta.fields + filters = OrderedDict() if view.filter_fields == '__all__': # Iterate over all fields - fields = view.get_serializer().Meta.model._meta.fields - filters = OrderedDict() - for f in fields: + for f in all_fields: filters[f.name] = {"type": str(f.__class__.__name__), "lookup_types": ["exact"]} metadata['filters'] = {**metadata['filters'], **filters} else: - # TODO: Handle field per field. - pass + for f in view.filter_fields: + for af in all_fields: + if f == af.name: + filters[af.name] = {"type": str(af.__class__.__name__), "lookup_types": ["exact"]} + metadata['filters'] = {**metadata['filters'], **filters} if hasattr(view, 'filter_class'): # Add filters @@ -75,7 +78,6 @@ class LOFARDefaultMetadata(SimpleMetadata): fields = view.get_serializer().Meta.model._meta.fields metadata['ordering'] = [f.name for f in fields] else: - # TODO: Handle field per field. - pass + metadata['ordering'] = [f for f in view.ordering_fields] return metadata -- GitLab