bloonsworld/app/users/models.py
2025-02-12 18:33:45 +01:00

29 lines
1.1 KiB
Python

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}"