diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/lofar_viewset.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/lofar_viewset.py
index f3b050eed854513dc70ce8b9cc8b9b27ba573b4f..c1eac7f24aae570b97f6b537ec00828164be37e8 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/lofar_viewset.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/lofar_viewset.py
@@ -53,6 +53,7 @@ class LOFARViewSet(viewsets.ModelViewSet):
     metadata_class = LOFARDefaultMetadata
     filter_backends = (LOFARFilterBackend, OrderingFilter, IsProjectMemberFilterBackend,)
     filter_fields = '__all__'
+    ordering_fields = '__all__'
 
     @swagger_auto_schema(responses={403: 'forbidden'})
     def list(self, request, **kwargs):
diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py
index 9f2defcb99d4d9948eb15afa9a9f7f1a422bd3c9..d781ab26ab01b5452b4bde02ddc9f5f891429b61 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/viewsets/metadata.py
@@ -13,13 +13,16 @@ class LOFARDefaultMetadata(SimpleMetadata):
     def determine_metadata(self, request, view):
         metadata = super(LOFARDefaultMetadata, self).determine_metadata(request, view)
 
-        # TODO: For some models, it happens that both filter_fields and filter_class are present. We need to handle duplicates.
         metadata['filters'] = OrderedDict()
 
         if hasattr(view, 'filter_fields'):
             if view.filter_fields == '__all__':
-                # TODO: Add fields in a proper way.
-                metadata['filters'] = {**metadata['filters'], **{'__all__': str(view.get_serializer().Meta.model._meta.fields)}}
+                # Iterate over all fields
+                fields = view.get_serializer().Meta.model._meta.fields
+                filters = OrderedDict()
+                for f in fields:
+                    filters[f.name] = {"type": str(f.__class__.__name__), "lookup_types": ["exact"]}
+                metadata['filters'] = {**metadata['filters'], **filters}
             else:
                 # TODO: Handle field per field.
                 pass
@@ -66,10 +69,13 @@ class LOFARDefaultMetadata(SimpleMetadata):
         # Add ordering info
         # NOTE: If you don't specify an ordering attribute on the view, the filter class will default to allowing
         # the user to filter on any readable fields on the serializer specified by the serializer_class attribute.
-        if hasattr(view, 'ordering'):
-            metadata['ordering'] = view.ordering
-        else:
-            # TODO:
-            metadata['ordering'] = str(view.get_serializer().Meta.model._meta.fields)
+        if hasattr(view, 'ordering_fields'):
+            if view.ordering_fields == '__all__':
+                # Iterate over all fields
+                fields = view.get_serializer().Meta.model._meta.fields
+                metadata['ordering'] = [f.name for f in fields]
+            else:
+                # TODO: Handle field per field.
+                pass
 
         return metadata