From 917f3ff52b672ea69b85cbec25401fa6db0f50f9 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 5 Jun 2024 14:43:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0edu=20=E7=BA=BF?= =?UTF-8?q?=E4=B8=8B=E5=9F=B9=E8=AE=AD=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/edu/migrations/0002_train.py | 42 +++++++++++++++++++++++++++++++ apps/edu/models.py | 22 +++++++++++++++- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 apps/edu/migrations/0002_train.py diff --git a/apps/edu/migrations/0002_train.py b/apps/edu/migrations/0002_train.py new file mode 100644 index 00000000..a80d2a73 --- /dev/null +++ b/apps/edu/migrations/0002_train.py @@ -0,0 +1,42 @@ +# Generated by Django 3.2.12 on 2024-06-05 06:43 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('system', '0004_auto_20240605_1011'), + ('edu', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Train', + fields=[ + ('id', models.CharField(editable=False, help_text='主键ID', max_length=20, primary_key=True, serialize=False, verbose_name='主键ID')), + ('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')), + ('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')), + ('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')), + ('level', models.PositiveSmallIntegerField(choices=[(10, '公司级'), (20, '部门级'), (30, '班组级')], verbose_name='级别')), + ('name', models.CharField(max_length=200, verbose_name='名称')), + ('place', models.CharField(blank=True, default='', max_length=200, verbose_name='地点')), + ('start_time', models.DateTimeField(verbose_name='开始时间')), + ('end_time', models.DateTimeField(verbose_name='结束时间')), + ('duration', models.PositiveIntegerField(default=0, editable=False, help_text='单位:s', verbose_name='时长')), + ('description', models.TextField(blank=True, default='', verbose_name='内容描述')), + ('is_public', models.BooleanField(default=False, verbose_name='是否公开')), + ('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='train_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')), + ('files', models.ManyToManyField(blank=True, to='system.File', verbose_name='附件')), + ('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='train_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')), + ], + options={ + 'verbose_name': '线下培训', + 'verbose_name_plural': '线下培训', + }, + ), + ] diff --git a/apps/edu/models.py b/apps/edu/models.py index 6a775397..0edfbcb1 100644 --- a/apps/edu/models.py +++ b/apps/edu/models.py @@ -1,8 +1,28 @@ from django.db import models from apps.utils.models import CommonAModel, BaseModel, CommonADModel -from apps.system.models import User, Dept +from apps.system.models import User, Dept, File # Create your models here. + +class Train(CommonADModel): + + T_L_COMPANY = 10 + T_L_DEPT = 20 + T_L_TEAM = 30 + level = models.PositiveSmallIntegerField(verbose_name='级别', choices=((T_L_COMPANY, '公司级'), (T_L_DEPT, '部门级'), (T_L_TEAM, '班组级'))) + name = models.CharField(max_length=200, verbose_name='名称') + place = models.CharField(max_length=200, verbose_name='地点', default='', blank=True) + start_time = models.DateTimeField(verbose_name='开始时间') + end_time = models.DateTimeField(verbose_name='结束时间') + duration = models.PositiveIntegerField(verbose_name='时长', default=0, help_text='单位:s', editable=False) + description = models.TextField(verbose_name='内容描述', default='', blank=True) + is_public = models.BooleanField('是否公开', default=False) + files = models.ManyToManyField(File, verbose_name='附件', blank=True) + + class Meta: + verbose_name = '线下培训' + verbose_name_plural = verbose_name + class Questioncat(CommonAModel): name = models.CharField(max_length=200, verbose_name='名称') parent = models.ForeignKey('self', on_delete=models.SET_NULL, null=True, blank=True, verbose_name='父级', related_name='cate_parent')