from django.db import models class Item(models.Model): GAMES = 'games' BOOKS = 'books' FILMS = 'films' OTHER = 'other' CATEGORY_CHOICES = [ (GAMES, 'Games'), (BOOKS, 'Books'), (FILMS, 'Films'), (OTHER, 'Other'), ] category = models.CharField(max_length=10, choices=CATEGORY_CHOICES) name = models.CharField(max_length=200) progress_percent = models.FloatField(default=0.0) favorite = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) # Games hours_played = models.FloatField(null=True, blank=True) total_hours = models.FloatField(null=True, blank=True) # Books pages_read = models.IntegerField(null=True, blank=True) total_pages = models.IntegerField(null=True, blank=True) # Films watched = models.BooleanField(null=True, blank=True) duration_minutes = models.IntegerField(null=True, blank=True) class Meta: ordering = ['-favorite', 'name'] def __str__(self): return f"{self.get_category_display()}: {self.name}"