38648-vm/core/models.py
Flatlogic Bot 9eb6dd3bd3 Արեն
2026-02-20 18:58:50 +00:00

54 lines
2.1 KiB
Python

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']