diff --git a/pinaxcon/raffle/models.py b/pinaxcon/raffle/models.py index 899b59737a4e081d709934360455211eca4aebc1..975f3b2bed385fb5761058c5eb56eb202912b7b6 100644 --- a/pinaxcon/raffle/models.py +++ b/pinaxcon/raffle/models.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.db import models from pinaxcon.raffle.mixins import PrizeMixin, RaffleMixin @@ -26,11 +27,18 @@ class Prize(PrizeMixin, models.Model): unlocked. """ description = models.CharField(max_length=255) - raffle = models.ForeignKey('pinaxcon_raffle.Raffle', related_name='prizes') + raffle = models.ForeignKey( + 'pinaxcon_raffle.Raffle', + related_name='prizes', + on_delete=models.CASCADE, + ) order = models.PositiveIntegerField() winning_ticket = models.OneToOneField( - 'pinaxcon_raffle.DrawnTicket', null=True, - blank=True, related_name='+', on_delete=models.PROTECT + 'pinaxcon_raffle.DrawnTicket', + null=True, + blank=True, + related_name='+', + on_delete=models.PROTECT, ) class Meta: @@ -45,9 +53,16 @@ class PrizeAudit(models.Model): Stores an audit event for changes to a particular :model:`pinaxcon_raffle.Prize`. """ reason = models.CharField(max_length=255) - prize = models.ForeignKey('pinaxcon_raffle.Prize', related_name='audit_events') + prize = models.ForeignKey( + 'pinaxcon_raffle.Prize', + related_name='audit_events', + on_delete=models.CASCADE, + ) - user = models.ForeignKey('auth.User') + user = models.ForeignKey( + settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + ) timestamp = models.DateTimeField(auto_now_add=True) class Meta: @@ -62,8 +77,15 @@ class Draw(models.Model): Stores a draw for a given :model:`pinaxcon_raffle.Raffle`, along with audit fields for the creating :model:`auth.User` and the creation timestamp. """ - raffle = models.ForeignKey('pinaxcon_raffle.Raffle', related_name='draws') - drawn_by = models.ForeignKey('auth.User') + raffle = models.ForeignKey( + 'pinaxcon_raffle.Raffle', + related_name='draws', + on_delete=models.CASCADE, + ) + drawn_by = models.ForeignKey( + settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + ) drawn_time = models.DateTimeField(auto_now_add=True) def __str__(self): @@ -78,9 +100,18 @@ class DrawnTicket(models.Model): """ ticket = models.CharField(max_length=255) - draw = models.ForeignKey('pinaxcon_raffle.Draw') - prize = models.ForeignKey('pinaxcon_raffle.Prize') - lineitem = models.ForeignKey('registrasion.LineItem') + draw = models.ForeignKey( + 'pinaxcon_raffle.Draw', + on_delete=models.CASCADE, + ) + prize = models.ForeignKey( + 'pinaxcon_raffle.Prize', + on_delete=models.CASCADE, + ) + lineitem = models.ForeignKey( + 'registrasion.LineItem', + on_delete=models.CASCADE, + ) def __str__(self): - return f"{self.ticket}: {self.draw.raffle}" \ No newline at end of file + return f"{self.ticket}: {self.draw.raffle}"