# What this PR does In `AlertGroupFilter` we currently have 11 duplicate queries which add ~1-2secs of unecessary request latency to `GET /api/internal/v1/alertgroups` calls.  The queries originate from the `queryset` callable arguments on several of the fields of the `AlertGroupFilter` class. These callables basically filter down their respective querysets to include only objects that belong to the currently authenticated user's organization. The duplicate queries are - 2 queries to fetch integrations - 2 queries to fetch escalation chains - 10 queries to fetch users At the moment, this PR is still a draft and doesn't work as intended. It's based off of [a suggestion from this discussion](https://github.com/carltongibson/django-filter/discussions/1572#discussioncomment-5676042) in the `django-filter` repo. See [this DjangoCon talk](https://youtu.be/e52S1SjuUeM?t=841) for more context. --------- Co-authored-by: Ildar Iskhakov <Ildar.iskhakov@grafana.com> |
||
|---|---|---|
| .. | ||
| permissions | ||
| serializers | ||
| tests | ||
| throttlers | ||
| views | ||
| __init__.py | ||
| response_renderers.py | ||
| urls.py | ||