mirror of
https://gitlab.com/megazordpobeda/DataRush.git
synced 2026-05-22 23:17:09 +00:00
add attachments model
This commit is contained in:
@@ -0,0 +1,40 @@
|
|||||||
|
# Generated by Django 5.1.6 on 2025-03-02 08:50
|
||||||
|
|
||||||
|
import apps.task.models
|
||||||
|
import django.db.models.deletion
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('task', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='competitiontask',
|
||||||
|
name='attachments',
|
||||||
|
field=models.ManyToManyField(blank=True, related_name='tasks_attachments', to='task.competitiontaskattachment'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='competitiontaskattachment',
|
||||||
|
name='bind_at',
|
||||||
|
field=models.FilePathField(verbose_name='путь сохранения'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='competitiontaskattachment',
|
||||||
|
name='file',
|
||||||
|
field=models.FileField(upload_to=apps.task.models.CompetitionTaskAttachment.file_upload_at, verbose_name='файл'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='competitiontaskattachment',
|
||||||
|
name='public',
|
||||||
|
field=models.BooleanField(default=False, verbose_name='публичный'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='competitiontaskattachment',
|
||||||
|
name='task',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='task.competitiontask', verbose_name='задание'),
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -48,6 +48,9 @@ class CompetitionTask(BaseModel):
|
|||||||
default="stdout",
|
default="stdout",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
attachments = models.ManyToManyField("CompetitionTaskAttachment", blank=True,
|
||||||
|
related_name="tasks_attachments")
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.title
|
return self.title
|
||||||
|
|
||||||
@@ -71,10 +74,12 @@ class CompetitionTaskAttachment(BaseModel):
|
|||||||
def file_upload_at(instance, filename):
|
def file_upload_at(instance, filename):
|
||||||
return f"/attachment/{instance.id}/file"
|
return f"/attachment/{instance.id}/file"
|
||||||
|
|
||||||
task = models.ForeignKey(CompetitionTask, on_delete=models.CASCADE)
|
task = models.ForeignKey(CompetitionTask, on_delete=models.CASCADE,
|
||||||
file = models.FileField(upload_to=file_upload_at)
|
verbose_name="задание")
|
||||||
bind_at = models.FilePathField()
|
file = models.FileField(upload_to=file_upload_at,
|
||||||
public = models.BooleanField(default=False)
|
verbose_name="файл")
|
||||||
|
bind_at = models.FilePathField(verbose_name="путь сохранения")
|
||||||
|
public = models.BooleanField(default=False, verbose_name="публичный")
|
||||||
|
|
||||||
|
|
||||||
class CompetitionTaskSubmission(BaseModel):
|
class CompetitionTaskSubmission(BaseModel):
|
||||||
|
|||||||
Reference in New Issue
Block a user