Optimise alert groups private api endpoint (#1802)
# What this PR does ## Which issue(s) this PR fixes ## Checklist - [ ] Unit, integration, and e2e (if applicable) tests updated - [ ] Documentation added (or `pr:no public docs` PR label added if not required) - [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not required)
This commit is contained in:
parent
21aaa14076
commit
13e7aaba01
1 changed files with 8 additions and 8 deletions
|
|
@ -192,7 +192,7 @@ class AlertGroupFilter(DateRangeFilterMixin, ByTeamModelFieldFilterMixin, ModelF
|
|||
|
||||
|
||||
class AlertGroupTeamFilteringMixin(TeamFilteringMixin):
|
||||
TEAM_LOOKUP = "channel__team"
|
||||
TEAM_LOOKUP = "team"
|
||||
|
||||
def retrieve(self, request, *args, **kwargs):
|
||||
try:
|
||||
|
|
@ -283,19 +283,19 @@ class AlertGroupView(
|
|||
|
||||
def get_queryset(self, ignore_filtering_by_available_teams=False):
|
||||
# no select_related or prefetch_related is used at this point, it will be done on paginate_queryset.
|
||||
alert_receive_channels_ids = list(
|
||||
AlertReceiveChannel.objects.filter(
|
||||
organization_id=self.request.auth.organization.id,
|
||||
).values_list("id", flat=True)
|
||||
|
||||
alert_receive_channels_qs = AlertReceiveChannel.objects.filter(
|
||||
organization_id=self.request.auth.organization.id
|
||||
)
|
||||
if not ignore_filtering_by_available_teams:
|
||||
alert_receive_channels_qs = alert_receive_channels_qs.filter(*self.available_teams_lookup_args)
|
||||
|
||||
alert_receive_channels_ids = list(alert_receive_channels_qs.values_list("id", flat=True))
|
||||
|
||||
queryset = AlertGroup.unarchived_objects.filter(
|
||||
channel__in=alert_receive_channels_ids,
|
||||
)
|
||||
|
||||
if not ignore_filtering_by_available_teams:
|
||||
queryset = queryset.filter(*self.available_teams_lookup_args).distinct()
|
||||
|
||||
queryset = queryset.only("id")
|
||||
|
||||
return queryset
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue