Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class CardDeckModel(models.Model):
- deck_name = models.CharField(max_lenght=100)
- class CardModel(models.Model):
- ranks = [str(n) for n in range(2, 11)] + list('JQKA')
- suite = list('CDHS')
- Clubs = 'C'
- Diamonds = 'D'
- Hearts = 'H'
- Spades = 'S'
- COLORS = (
- (Clubs, 'Clubs'),
- (Diamonds, 'Diamonds'),
- (Hearts, 'Hearts'),
- (Spades, 'Spades'),
- )
- ACE = 'A'
- TWO = '2'
- THREE = '3'
- FOUR = '4'
- FIVE = '5'
- SIX = '6'
- SEVEN = '7'
- EIGHT = '8'
- NINE = '9'
- TEN = '10'
- JACK = 'J'
- QUEEN = 'Q'
- KING = 'K'
- RANKS = (
- (ACE, 'Ace'),
- (TWO, '2'),
- (THREE, '3'),
- (FOUR, '4'),
- (FIVE, '5'),
- (SIX, '6'),
- (SEVEN, '7'),
- (EIGHT, '8'),
- (NINE, '9'),
- (TEN, '10'),
- (JACK, 'Jack'),
- (QUEEN, 'Queen'),
- (KING, 'King'),
- )
- deck = models.ForeignKey(CardDeckModel)
- rank = models.CharField(max_lenght=6, choices=RANKS)
- color = models.CharField(max_lenght=1, choices=COLORS)
- def __init__(self, deck):
- cards = [CardModel(deck=deck, rank=card_rank, color=card_suite) for card_rank in ranks
- for card_suite in suite]
- for i in cards:
- i.save()
- def is_card_exist(self, rank, color):
- try:
- card = CardModel.objects.get(rank=rank, color=color)
- except CardModel.DoesNotExist:
- return False
- else:
- return True
- def save(self, *args, **kwargs):
- if self.is_card_exist():
- raise ValueError('Card is already exist')
- else:
- super(CardModel, self).save(*args, **kwargs)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement