From 96eaaac2010c830f9df62c4cd46e4b519575d212 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Tue, 13 Feb 2024 13:48:52 -0500 Subject: [PATCH] Restore get_queryset() on BriefModeMixin, minus prefetch logic --- netbox/netbox/api/viewsets/mixins.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/netbox/netbox/api/viewsets/mixins.py b/netbox/netbox/api/viewsets/mixins.py index b2c6bdda6..e6790e21c 100644 --- a/netbox/netbox/api/viewsets/mixins.py +++ b/netbox/netbox/api/viewsets/mixins.py @@ -52,6 +52,19 @@ class BriefModeMixin: return self.serializer_class + def get_queryset(self): + qs = super().get_queryset() + + if self.brief: + serializer_class = self.get_serializer_class() + + # Clear any annotations for fields not present on the nested serializer + for annotation in list(qs.query.annotations.keys()): + if annotation not in serializer_class().fields: + qs.query.annotations.pop(annotation) + + return qs + class CustomFieldsMixin: """