import random from django.db import models # Create your models here. from django.utils import timezone def generate_token(): letters = 'qwertyuioppasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890' return ''.join([random.choice(letters) for _ in range(30)]) class Game(models.Model): last_move_ts = models.DateTimeField(default=timezone.now) turn = models.IntegerField(default=0) class Player(models.Model): game = models.ForeignKey(Game, on_delete=models.CASCADE) field = models.CharField(max_length=100, default=' ' * 100) number = models.IntegerField() attend_token = models.CharField(max_length=30, default=generate_token) token = models.CharField(max_length=30, null=True, blank=True) class Meta: constraints = [ models.UniqueConstraint(fields=['token'], name='unique_player_token'), models.UniqueConstraint(fields=['attend_token'], name='unique_player_attend_token') ]