<type>(scope): <description>

[body]

[footer(s)]
This commit is contained in:
ITQ
2025-03-03 12:38:10 +03:00
parent e719aa285d
commit dc979a1a95
6 changed files with 38 additions and 27 deletions
+5 -2
View File
@@ -3,8 +3,8 @@ from django.contrib import admin
from apps.task.models import (
CompetitionTask,
CompetitionTaskAttachment,
CompetitionTaskCriteria,
CompetitionTaskSubmission,
CompetitionTaskCriteria
)
@@ -23,7 +23,10 @@ class CompetitionTaskAdmin(admin.ModelAdmin):
list_display = ("title", "type", "points")
filter_horizontal = ("reviewers",)
list_filter = ("type",)
inlines = (CompletionAttachmentInline, CompetitionCriteriaInline,)
inlines = (
CompletionAttachmentInline,
CompetitionCriteriaInline,
)
@admin.register(CompetitionTaskSubmission)
+15 -14
View File
@@ -22,12 +22,16 @@ class CompetitionTask(BaseModel):
in_competition_position = models.PositiveSmallIntegerField(
verbose_name="позиция в соревновании"
)
competition = models.ForeignKey(Competition, on_delete=models.CASCADE,
verbose_name="привязанное соревнование")
competition = models.ForeignKey(
Competition,
on_delete=models.CASCADE,
verbose_name="привязанное соревнование",
)
title = models.CharField(verbose_name="заголовок", max_length=50)
description = MDTextField(verbose_name="описание")
max_attempts = models.PositiveSmallIntegerField(null=True, blank=True,
verbose_name="максимальное кол-во попыток")
max_attempts = models.PositiveSmallIntegerField(
null=True, blank=True, verbose_name="максимальное кол-во попыток"
)
type = models.CharField(
choices=CompetitionTaskType, max_length=8, verbose_name="тип проверки"
)
@@ -68,7 +72,10 @@ class CompetitionTask(BaseModel):
),
)
submission_reviewers_count = models.PositiveSmallIntegerField(
default=1, null=True, blank=True, verbose_name="кол-во проверяющих для зачета задачи"
default=1,
null=True,
blank=True,
verbose_name="кол-во проверяющих для зачета задачи",
)
def __str__(self):
@@ -84,15 +91,9 @@ class CompetitionTaskCriteria(BaseModel):
CompetitionTask, on_delete=models.CASCADE, related_name="criteries"
)
name = models.TextField(
verbose_name="название"
)
slug = models.SlugField(
verbose_name="техническое название"
)
description = models.TextField(
verbose_name="описание критерии"
)
name = models.TextField(verbose_name="название")
slug = models.SlugField(verbose_name="техническое название")
description = models.TextField(verbose_name="описание критерии")
max_value = models.PositiveSmallIntegerField(
verbose_name="максимальное кол-во баллов"
)
+2 -1
View File
@@ -1,8 +1,9 @@
import hashlib
import httpx
from celery import shared_task
from django.conf import settings
from django.core.files.base import ContentFile
import hashlib
from apps.task.models import CompetitionTaskSubmission