Remove operation_name filter from DropCampaign queries
This commit is contained in:
parent
b8df95e317
commit
4f254f7cba
3 changed files with 9 additions and 24 deletions
|
|
@ -468,10 +468,7 @@ class DropCampaignFeed(Feed):
|
|||
def items(self) -> list[DropCampaign]:
|
||||
"""Return the latest 100 drop campaigns."""
|
||||
return list(
|
||||
DropCampaign.objects
|
||||
.filter(operation_name="DropCampaignDetails")
|
||||
.select_related("game")
|
||||
.order_by("-added_at")[:100],
|
||||
DropCampaign.objects.select_related("game").order_by("-added_at")[:100],
|
||||
)
|
||||
|
||||
def item_title(self, item: Model) -> SafeText:
|
||||
|
|
@ -615,10 +612,7 @@ class GameCampaignFeed(Feed):
|
|||
def items(self, obj: Game) -> list[DropCampaign]:
|
||||
"""Return the latest 100 drop campaigns for this game, ordered by most recently added."""
|
||||
return list(
|
||||
DropCampaign.objects
|
||||
.filter(game=obj, operation_name="DropCampaignDetails")
|
||||
.select_related("game")
|
||||
.order_by("-added_at")[:100],
|
||||
DropCampaign.objects.filter(game=obj).select_related("game").order_by("-added_at")[:100],
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -653,10 +647,7 @@ class OrganizationCampaignFeed(Feed):
|
|||
def items(self, obj: Organization) -> list[DropCampaign]:
|
||||
"""Return the latest 100 drop campaigns for this organization, ordered by most recently added."""
|
||||
return list(
|
||||
DropCampaign.objects
|
||||
.filter(game__owners=obj, operation_name="DropCampaignDetails")
|
||||
.select_related("game")
|
||||
.order_by("-added_at")[:100],
|
||||
DropCampaign.objects.filter(game__owners=obj).select_related("game").order_by("-added_at")[:100],
|
||||
)
|
||||
|
||||
def item_author_name(self, item: DropCampaign) -> str:
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ urlpatterns: list[URLPattern] = [
|
|||
path("docs/rss/", views.docs_rss_view, name="docs_rss"),
|
||||
path("emotes/", views.emote_gallery_view, name="emote_gallery"),
|
||||
path("games/", views.GamesGridView.as_view(), name="game_list"),
|
||||
path("games/<str:twitch_id>/", views.GameDetailView.as_view(), name="game_detail"),
|
||||
path("games/list/", views.GamesListView.as_view(), name="game_list_simple"),
|
||||
path("games/<str:twitch_id>/", views.GameDetailView.as_view(), name="game_detail"),
|
||||
path("organizations/", views.org_list_view, name="org_list"),
|
||||
path("organizations/<str:twitch_id>/", views.organization_detail_view, name="organization_detail"),
|
||||
path("rss/campaigns/", DropCampaignFeed(), name="campaign_feed"),
|
||||
|
|
|
|||
|
|
@ -104,7 +104,6 @@ def search_view(request: HttpRequest) -> HttpResponse:
|
|||
results["games"] = Game.objects.filter(Q(name__istartswith=query) | Q(display_name__istartswith=query))
|
||||
results["campaigns"] = DropCampaign.objects.filter(
|
||||
Q(name__istartswith=query) | Q(description__icontains=query),
|
||||
operation_name="DropCampaignDetails",
|
||||
).select_related("game")
|
||||
results["drops"] = TimeBasedDrop.objects.filter(name__istartswith=query).select_related("campaign")
|
||||
results["benefits"] = DropBenefit.objects.filter(name__istartswith=query).prefetch_related(
|
||||
|
|
@ -120,7 +119,6 @@ def search_view(request: HttpRequest) -> HttpResponse:
|
|||
)
|
||||
results["campaigns"] = DropCampaign.objects.filter(
|
||||
Q(name__icontains=query) | Q(description__icontains=query),
|
||||
operation_name="DropCampaignDetails",
|
||||
).select_related("game")
|
||||
results["drops"] = TimeBasedDrop.objects.filter(
|
||||
name__icontains=query,
|
||||
|
|
@ -242,7 +240,7 @@ def drop_campaign_list_view(request: HttpRequest) -> HttpResponse:
|
|||
game_filter: str | None = request.GET.get("game")
|
||||
status_filter: str | None = request.GET.get("status")
|
||||
per_page: int = 100
|
||||
queryset: QuerySet[DropCampaign] = DropCampaign.objects.filter(operation_name="DropCampaignDetails")
|
||||
queryset: QuerySet[DropCampaign] = DropCampaign.objects.all()
|
||||
|
||||
if game_filter:
|
||||
queryset = queryset.filter(game__twitch_id=game_filter)
|
||||
|
|
@ -351,7 +349,6 @@ def drop_campaign_detail_view(request: HttpRequest, twitch_id: str) -> HttpRespo
|
|||
try:
|
||||
campaign: DropCampaign = DropCampaign.objects.prefetch_related("game__owners").get(
|
||||
twitch_id=twitch_id,
|
||||
operation_name="DropCampaignDetails",
|
||||
)
|
||||
except DropCampaign.DoesNotExist as exc:
|
||||
msg = "No campaign found matching the query"
|
||||
|
|
@ -568,7 +565,7 @@ class GameDetailView(DetailView):
|
|||
now: datetime.datetime = timezone.now()
|
||||
all_campaigns: QuerySet[DropCampaign] = (
|
||||
DropCampaign.objects
|
||||
.filter(game=game, operation_name="DropCampaignDetails")
|
||||
.filter(game=game)
|
||||
.prefetch_related("game__owners")
|
||||
.prefetch_related(
|
||||
Prefetch(
|
||||
|
|
@ -677,7 +674,7 @@ def dashboard(request: HttpRequest) -> HttpResponse:
|
|||
now: datetime.datetime = timezone.now()
|
||||
active_campaigns: QuerySet[DropCampaign] = (
|
||||
DropCampaign.objects
|
||||
.filter(start_at__lte=now, end_at__gte=now, operation_name="DropCampaignDetails")
|
||||
.filter(start_at__lte=now, end_at__gte=now)
|
||||
.prefetch_related("game__owners")
|
||||
.prefetch_related(
|
||||
"allow_channels",
|
||||
|
|
@ -735,7 +732,6 @@ def debug_view(request: HttpRequest) -> HttpResponse:
|
|||
# Campaigns with missing or obviously broken images
|
||||
broken_image_campaigns: QuerySet[DropCampaign] = DropCampaign.objects.filter(
|
||||
Q(image_url__isnull=True) | Q(image_url__exact="") | ~Q(image_url__startswith="http"),
|
||||
operation_name="DropCampaignDetails",
|
||||
).select_related("game")
|
||||
|
||||
# Benefits with missing images
|
||||
|
|
@ -755,14 +751,12 @@ def debug_view(request: HttpRequest) -> HttpResponse:
|
|||
# Campaigns with invalid dates (start after end or missing either)
|
||||
invalid_date_campaigns: QuerySet[DropCampaign] = DropCampaign.objects.filter(
|
||||
Q(start_at__gt=F("end_at")) | Q(start_at__isnull=True) | Q(end_at__isnull=True),
|
||||
operation_name="DropCampaignDetails",
|
||||
).select_related("game")
|
||||
|
||||
# Duplicate campaign names per game.
|
||||
# We retrieve the game's name for user-friendly display.
|
||||
duplicate_name_campaigns = (
|
||||
DropCampaign.objects
|
||||
.filter(operation_name="DropCampaignDetails")
|
||||
.values("game__display_name", "name", "game__twitch_id")
|
||||
.annotate(name_count=Count("twitch_id"))
|
||||
.filter(name_count__gt=1)
|
||||
|
|
@ -772,7 +766,7 @@ def debug_view(request: HttpRequest) -> HttpResponse:
|
|||
# Campaigns currently active but image missing
|
||||
active_missing_image: QuerySet[DropCampaign] = (
|
||||
DropCampaign.objects
|
||||
.filter(start_at__lte=now, end_at__gte=now, operation_name="DropCampaignDetails")
|
||||
.filter(start_at__lte=now, end_at__gte=now)
|
||||
.filter(
|
||||
Q(image_url__isnull=True) | Q(image_url__exact="") | ~Q(image_url__startswith="http"),
|
||||
)
|
||||
|
|
@ -942,7 +936,7 @@ class ChannelDetailView(DetailView):
|
|||
now: datetime.datetime = timezone.now()
|
||||
all_campaigns: QuerySet[DropCampaign] = (
|
||||
DropCampaign.objects
|
||||
.filter(allow_channels=channel, operation_name="DropCampaignDetails")
|
||||
.filter(allow_channels=channel)
|
||||
.prefetch_related("game__owners")
|
||||
.prefetch_related(
|
||||
Prefetch(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue