Files
DataRush/services/backend/apps/review/models.py
T
2025-04-08 00:37:39 +03:00

53 lines
1.5 KiB
Python

from django.db import models
from apps.core.models import BaseModel
class Reviewer(BaseModel):
name = models.CharField(max_length=100, verbose_name="имя")
surname = models.CharField(max_length=100, verbose_name="фамилия")
token = models.CharField(max_length=100, verbose_name="токен для входа")
def __str__(self):
return self.name + " " + self.surname
class Meta:
verbose_name = "проверяющий"
verbose_name_plural = "проверяющие"
class ReviewStatusChoices(models.TextChoices):
NOT_CHECKED = "not_checked"
CHECKING = "checking"
CHECKED = "checked"
class Review(BaseModel):
reviewer = models.ForeignKey(
Reviewer, on_delete=models.CASCADE, verbose_name="проверяющий"
)
submission = models.ForeignKey(
"task.CompetitionTaskSubmission",
on_delete=models.CASCADE,
related_name="reviews",
verbose_name="посылка",
)
evaluation = models.JSONField(
default=list, null=True, blank=True, verbose_name="оценка"
)
state = models.CharField(
choices=ReviewStatusChoices.choices,
default=ReviewStatusChoices.NOT_CHECKED.value,
max_length=11,
verbose_name="состояние",
)
def __str__(self):
return f"{str(self.reviewer)} -> {self.submission.task.title} ({self.submission.user.username})"
class Meta:
verbose_name = "проверка"
verbose_name_plural = "проверки"