31 lines
968 B
Python
31 lines
968 B
Python
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')
|
|
]
|