from django.db import models from django.contrib.auth.models import User from django.db.models.fields import CharField, IntegerField # Create your models here. class Province(models.Model): id = models.IntegerField(primary_key = True) name = models.CharField(max_length = 100, blank = False) faction = models.IntegerField() # 0 - Neutral, 1 - Allies, 2 - Axis map = models.CharField(max_length=255) mov_speed = models.IntegerField() ats = models.JSONField(null=True) class Meta: ordering = ['id'] def __str__(self): return f"{self.name} - {self.faction}" class AssaultTroop(models.Model): id = models.IntegerField(primary_key = True) name = models.CharField(max_length = 100, blank = False) faction = models.IntegerField() # 0 - Neutral, 1 - Allies, 2 - Axis type = models.IntegerField() province = models.IntegerField() # Province ID (-1 for not deployed) orders = models.JSONField(null=True) owner = models.ForeignKey( 'auth.User', related_name='ats', on_delete=models.CASCADE ) class Meta: ordering = ['id'] def __str__(self): return f"{self.name} - {self.province},{self.faction}" class Player(models.Model): id = models.IntegerField(primary_key = True) name = models.CharField(max_length = 50, blank = False) faction = models.IntegerField() server = CharField(max_length = 20, blank = False) class Meta: ordering = ['id'] def __str__(self): return self.name class Server(models.Model): id = IntegerField(primary_key = True) players = IntegerField() # total current players capacity = IntegerField() # max player capacity region = CharField(max_length = 3, blank = False) # 3 letter abb. for region address = CharField(max_length = 20, blank = False) class Meta: ordering = ['id'] def __str__(self): return f"{self.address} - {self.region}"