Use auto_prefetch for ForeignKeys
This commit is contained in:
@ -0,0 +1,75 @@
|
||||
# Generated by Django 5.1 on 2024-08-12 22:19
|
||||
|
||||
import auto_prefetch
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations
|
||||
from django.db.migrations.operations.base import Operation
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies: list[tuple[str, str]] = [
|
||||
("core", "0001_initial"),
|
||||
]
|
||||
|
||||
operations: list[Operation] = [
|
||||
migrations.AlterField(
|
||||
model_name="benefit",
|
||||
name="time_based_drop",
|
||||
field=auto_prefetch.ForeignKey(
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="benefits",
|
||||
to="core.timebaseddrop",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="dropcampaign",
|
||||
name="game",
|
||||
field=auto_prefetch.ForeignKey(
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="drop_campaigns",
|
||||
to="core.game",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="game",
|
||||
name="org",
|
||||
field=auto_prefetch.ForeignKey(
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="games",
|
||||
to="core.owner",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="reward",
|
||||
name="campaign",
|
||||
field=auto_prefetch.ForeignKey(
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="rewards",
|
||||
to="core.rewardcampaign",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="rewardcampaign",
|
||||
name="game",
|
||||
field=auto_prefetch.ForeignKey(
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="reward_campaigns",
|
||||
to="core.game",
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="timebaseddrop",
|
||||
name="drop_campaign",
|
||||
field=auto_prefetch.ForeignKey(
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name="drops",
|
||||
to="core.dropcampaign",
|
||||
),
|
||||
),
|
||||
]
|
@ -27,7 +27,7 @@ class Game(auto_prefetch.Model):
|
||||
box_art_url = models.URLField(null=True) # "https://static-cdn.jtvnw.net/ttv-boxart/Halo%20Infinite.jpg"
|
||||
slug = models.TextField(null=True) # "halo-infinite"
|
||||
|
||||
org = models.ForeignKey(Owner, on_delete=models.CASCADE, related_name="games", null=True)
|
||||
org = auto_prefetch.ForeignKey(Owner, on_delete=models.CASCADE, related_name="games", null=True)
|
||||
|
||||
def __str__(self) -> str:
|
||||
return self.name or "Game name unknown"
|
||||
@ -49,7 +49,7 @@ class DropCampaign(auto_prefetch.Model):
|
||||
ends_at = models.DateTimeField(null=True) # "2024-08-12T05:59:59.999Z"
|
||||
starts_at = models.DateTimeField(null=True) # "2024-08-11T11:00:00Z""
|
||||
|
||||
game = models.ForeignKey(Game, on_delete=models.CASCADE, related_name="drop_campaigns", null=True)
|
||||
game = auto_prefetch.ForeignKey(Game, on_delete=models.CASCADE, related_name="drop_campaigns", null=True)
|
||||
|
||||
# "https://static-cdn.jtvnw.net/twitch-quests-assets/CAMPAIGN/c8e02666-8b86-471f-bf38-7ece29a758e4.png"
|
||||
image_url = models.URLField(null=True)
|
||||
@ -83,7 +83,7 @@ class TimeBasedDrop(auto_prefetch.Model):
|
||||
required_minutes_watched = models.PositiveBigIntegerField(null=True) # "120"
|
||||
starts_at = models.DateTimeField(null=True) # "2024-08-11T11:00:00Z"
|
||||
|
||||
drop_campaign = models.ForeignKey(DropCampaign, on_delete=models.CASCADE, related_name="drops", null=True)
|
||||
drop_campaign = auto_prefetch.ForeignKey(DropCampaign, on_delete=models.CASCADE, related_name="drops", null=True)
|
||||
|
||||
|
||||
class Benefit(auto_prefetch.Model):
|
||||
@ -104,7 +104,12 @@ class Benefit(auto_prefetch.Model):
|
||||
|
||||
name = models.TextField(null=True) # "Cosmic Nexus Chimera"
|
||||
|
||||
time_based_drop = models.ForeignKey(TimeBasedDrop, on_delete=models.CASCADE, related_name="benefits", null=True)
|
||||
time_based_drop = auto_prefetch.ForeignKey(
|
||||
TimeBasedDrop,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="benefits",
|
||||
null=True,
|
||||
)
|
||||
|
||||
|
||||
class RewardCampaign(auto_prefetch.Model):
|
||||
@ -125,7 +130,7 @@ class RewardCampaign(auto_prefetch.Model):
|
||||
external_url = models.URLField(null=True) # "https://tv.apple.com/includes/commerce/redeem/code-entry"
|
||||
about_url = models.URLField(null=True) # "https://blog.twitch.tv/2024/07/26/sub-and-get-apple-tv/"
|
||||
is_site_wide = models.BooleanField(null=True) # "True"
|
||||
game = models.ForeignKey(Game, on_delete=models.CASCADE, related_name="reward_campaigns", null=True)
|
||||
game = auto_prefetch.ForeignKey(Game, on_delete=models.CASCADE, related_name="reward_campaigns", null=True)
|
||||
|
||||
sub_goal = models.PositiveBigIntegerField(null=True) # "1"
|
||||
minute_watched_goal = models.PositiveBigIntegerField(null=True) # "0"
|
||||
@ -149,4 +154,4 @@ class Reward(auto_prefetch.Model):
|
||||
redemption_instructions = models.TextField(null=True) # ""
|
||||
redemption_url = models.URLField(null=True) # "https://tv.apple.com/includes/commerce/redeem/code-entry"
|
||||
|
||||
campaign = models.ForeignKey(RewardCampaign, on_delete=models.CASCADE, related_name="rewards", null=True)
|
||||
campaign = auto_prefetch.ForeignKey(RewardCampaign, on_delete=models.CASCADE, related_name="rewards", null=True)
|
||||
|
Reference in New Issue
Block a user