from django.db import models from django.utils import timezone class Level(models.Model): title = models.CharField(max_length=200, verbose_name="Մակարդակ") description = models.TextField(blank=True, verbose_name="Նկարագրություն") order = models.IntegerField(default=0, verbose_name="Հերթականություն") def __str__(self): return self.title class Meta: verbose_name = "Մակարդակ" verbose_name_plural = "Մակարդակներ" ordering = ['order'] class Question(models.Model): level = models.ForeignKey(Level, on_delete=models.CASCADE, related_name="questions", verbose_name="Մակարդակ") text = models.TextField(verbose_name="Հարց") points = models.IntegerField(default=10, verbose_name="Միավորներ") time_limit = models.IntegerField(default=30, verbose_name="Ժամանակ (վայրկյան)") def __str__(self): return self.text[:50] class Meta: verbose_name = "Հարց" verbose_name_plural = "Հարցեր" class Option(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE, related_name="options", verbose_name="Հարց") text = models.CharField(max_length=500, verbose_name="Տարբերակ") is_correct = models.BooleanField(default=False, verbose_name="Ճիշտ է") def __str__(self): return self.text class Meta: verbose_name = "Տարբերակ" verbose_name_plural = "Տարբերակներ" class Score(models.Model): player_name = models.CharField(max_length=100, verbose_name="Խաղացող") score = models.IntegerField(verbose_name="Միավոր") level = models.ForeignKey(Level, on_delete=models.CASCADE, verbose_name="Մակարդակ") date_played = models.DateTimeField(default=timezone.now, verbose_name="Ամսաթիվ") def __str__(self): return f"{self.player_name} - {self.score}" class Meta: verbose_name = "Արդյունք" verbose_name_plural = "Արդյունքներ" ordering = ['-score', '-date_played']