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

Method get_queryset

api/experimentation/views.py:241–258  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

239 return ExperimentSerializer
240
241 def get_queryset(self) -> "QuerySet[Experiment]":
242 qs = super().get_queryset()
243 if self.action in ("list", "retrieve"):
244 qs = qs.select_related("feature").prefetch_related(
245 "feature__multivariate_options",
246 "feature__feature_states__multivariate_feature_state_values",
247 "experiment_metrics__metric",
248 )
249 query_params = ExperimentQueryParamSerializer(data=self.request.GET)
250 query_params.is_valid(raise_exception=True)
251 if status_filter := query_params.validated_data.get("status"):
252 qs = qs.filter(status__in=status_filter)
253
254 q = self.request.query_params.get("q")
255 if q:
256 qs = qs.filter(Q(name__icontains=q) | Q(feature__name__icontains=q))
257
258 return qs.order_by("-created_at")
259
260 def list(self, request: Request, *args: object, **kwargs: object) -> Response:
261 response = super().list(request, *args, **kwargs)

Callers

nothing calls this directly

Calls 4

is_validMethod · 0.80
get_querysetMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected