diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py index d781ab26ab01b5452b4bde02ddc9f5f891429b61..ab7530f4260f7c20cc4c139a87e100d585bd136c 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