from django.db import models from django.conf import settings from store.models import Card, Game class Deck(models.Model): user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='decks') name = models.CharField(max_length=200) game = models.ForeignKey(Game, on_delete=models.CASCADE) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) is_public = models.BooleanField(default=False) def __str__(self): return f"{self.name} ({self.game.name})" class DeckCard(models.Model): deck = models.ForeignKey(Deck, on_delete=models.CASCADE, related_name='cards') card = models.ForeignKey(Card, on_delete=models.CASCADE) quantity = models.PositiveIntegerField(default=1) is_sideboard = models.BooleanField(default=False) class Meta: unique_together = ('deck', 'card', 'is_sideboard') def __str__(self): return f"{self.quantity}x {self.card.name}"