add verbose name

This commit is contained in:
2025-03-10 20:23:36 +08:00
parent 515139ad4b
commit 0d07daa655
4 changed files with 80 additions and 11 deletions

View File

@@ -0,0 +1,33 @@
# Generated by Django 5.1.6 on 2025-03-10 12:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('submission', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='submission',
name='css',
field=models.TextField(blank=True, null=True, verbose_name='CSS代码'),
),
migrations.AlterField(
model_name='submission',
name='html',
field=models.TextField(blank=True, null=True, verbose_name='HTML代码'),
),
migrations.AlterField(
model_name='submission',
name='js',
field=models.TextField(blank=True, null=True, verbose_name='JS代码'),
),
migrations.AlterField(
model_name='submission',
name='score',
field=models.IntegerField(default=0, verbose_name='分数'),
),
]

View File

@@ -11,10 +11,10 @@ from task.models import Task
class Submission(TimeStampedModel): class Submission(TimeStampedModel):
user = models.ForeignKey(User, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.CASCADE)
task = models.ForeignKey(Task, on_delete=models.CASCADE) task = models.ForeignKey(Task, on_delete=models.CASCADE)
score = models.IntegerField(default=0) score = models.IntegerField(default=0, verbose_name="分数")
html = models.TextField(null=True, blank=True) html = models.TextField(null=True, blank=True, verbose_name="HTML代码")
css = models.TextField(null=True, blank=True) css = models.TextField(null=True, blank=True, verbose_name="CSS代码")
js = models.TextField(null=True, blank=True) js = models.TextField(null=True, blank=True, verbose_name="JS代码")
def __str__(self): def __str__(self):
return f"{self.user.username} - {self.task.title}" return f"{self.user.username} - {self.task.title}"

View File

@@ -0,0 +1,38 @@
# Generated by Django 5.1.6 on 2025-03-10 12:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('task', '0002_alter_task_display'),
]
operations = [
migrations.AlterField(
model_name='task',
name='content',
field=models.TextField(verbose_name='内容'),
),
migrations.AlterField(
model_name='task',
name='display',
field=models.IntegerField(db_index=True, unique=True, verbose_name='序号'),
),
migrations.AlterField(
model_name='task',
name='is_public',
field=models.BooleanField(default=False, verbose_name='是否公开'),
),
migrations.AlterField(
model_name='task',
name='task_type',
field=models.CharField(choices=[('challenge', 'Challenge'), ('tutorial', 'Tutorial')], editable=False, max_length=20, verbose_name='类型'),
),
migrations.AlterField(
model_name='task',
name='title',
field=models.CharField(max_length=100, verbose_name='标题'),
),
]

View File

@@ -8,15 +8,13 @@ class Task(TimeStampedModel):
("tutorial", "Tutorial"), ("tutorial", "Tutorial"),
] ]
display = models.IntegerField(unique=True, db_index=True) display = models.IntegerField(unique=True, db_index=True, verbose_name="序号")
title = models.CharField(max_length=100) title = models.CharField(max_length=100, verbose_name="标题")
content = models.TextField() content = models.TextField(verbose_name="内容")
task_type = models.CharField( task_type = models.CharField(
max_length=20, max_length=20, choices=TASK_TYPE_CHOICES, editable=False, verbose_name="类型"
choices=TASK_TYPE_CHOICES,
editable=False,
) )
is_public = models.BooleanField(default=False) is_public = models.BooleanField(default=False, verbose_name="是否公开")
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if not self.task_type: if not self.task_type: