from django.db import models from django.utils import timezone from django.contrib.auth.models import User from bloonsa_game.models import Level, LevelRating class Player(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True) # Savedata bloonsa_levelsPlayed = models.ManyToManyField(Level, blank=True, related_name="levelsPlayed") bloonsa_levelsBeaten = models.ManyToManyField(Level, blank=True, related_name="levelsBeaten") bloonsa_levelRatings = models.ManyToManyField(LevelRating, blank=True, related_name="levelRatings") # Logging creationIP = models.GenericIPAddressField() latestIP = models.GenericIPAddressField() creationDate = models.DateTimeField(default=timezone.now) latestActivity = models.DateTimeField(default=timezone.now) suspectedCheater = models.BooleanField(default=False) # States suspended = models.BooleanField(default=False) banned = models.BooleanField(default=False) admin = models.BooleanField(default=False) def __str__(self): return f"{self.user} - {self.latestIP}"