MCPcopy Create free account
hub / github.com/Flagsmith/flagsmith / get_queryset

Method get_queryset

api/audit/views.py:36–60  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

34 pagination_class = CustomPagination
35
36 def get_queryset(self) -> QuerySet[AuditLog]:
37 if getattr(self, "swagger_fake_view", False):
38 return AuditLog.objects.none() # type: ignore[no-any-return]
39
40 q = self._get_base_filters()
41
42 serializer = AuditLogsQueryParamSerializer(data=self.request.GET)
43 serializer.is_valid(raise_exception=True)
44
45 if project_id := serializer.data.get("project"):
46 q = q & Q(project__id=project_id)
47 if environment_ids := serializer.data.get("environments"):
48 q = q & Q(environment__id__in=environment_ids)
49 if is_system_event := serializer.data.get("is_system_event") is not None:
50 q = q & Q(is_system_event=is_system_event)
51
52 search = serializer.data.get("search")
53 if search:
54 q = q & Q(log__icontains=search)
55
56 queryset = AuditLog.objects.filter(q).select_related(
57 "project", "environment", "author"
58 )
59
60 return self._apply_visibility_limits(queryset)
61
62 def get_serializer_class(self): # type: ignore[no-untyped-def]
63 return {"retrieve": AuditLogRetrieveSerializer}.get(

Callers

nothing calls this directly

Calls 5

_get_base_filtersMethod · 0.95
is_validMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected