129 lines
8.6 KiB
Python
129 lines
8.6 KiB
Python
# Generated by Django 6.0.5 on 2026-05-26 07:02
|
|
|
|
import django.db.models.deletion
|
|
import django.utils.timezone
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('auth', '0012_alter_user_first_name_max_length'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Institution',
|
|
fields=[
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
|
('id', models.BigAutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=255, verbose_name='名称')),
|
|
('type', models.CharField(choices=[('hospital', '医院'), ('school', '学校')], max_length=30, verbose_name='类型')),
|
|
('level', models.CharField(blank=True, max_length=30, verbose_name='等级')),
|
|
('province', models.CharField(blank=True, max_length=50, verbose_name='省份')),
|
|
('city', models.CharField(blank=True, max_length=50, verbose_name='城市')),
|
|
],
|
|
options={
|
|
'verbose_name': '机构',
|
|
'verbose_name_plural': '机构',
|
|
'db_table': 'institution',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Role',
|
|
fields=[
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
|
('id', models.BigAutoField(primary_key=True, serialize=False)),
|
|
('role_code', models.CharField(max_length=50, unique=True, verbose_name='角色编码')),
|
|
('role_name', models.CharField(max_length=50, verbose_name='角色名称')),
|
|
],
|
|
options={
|
|
'verbose_name': '角色',
|
|
'verbose_name_plural': '角色',
|
|
'db_table': 'role',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Department',
|
|
fields=[
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
|
('id', models.BigAutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=100, verbose_name='科室名称')),
|
|
('category', models.CharField(blank=True, max_length=50, verbose_name='科室分类')),
|
|
('institution', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='user.institution', verbose_name='所属机构')),
|
|
],
|
|
options={
|
|
'verbose_name': '科室',
|
|
'verbose_name_plural': '科室',
|
|
'db_table': 'department',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='User',
|
|
fields=[
|
|
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
|
|
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
|
('id', models.BigAutoField(primary_key=True, serialize=False)),
|
|
('username', models.CharField(max_length=50, unique=True, verbose_name='用户名')),
|
|
('password', models.CharField(max_length=255, verbose_name='密码')),
|
|
('real_name', models.CharField(blank=True, max_length=50, verbose_name='真实姓名')),
|
|
('phone', models.CharField(blank=True, max_length=20, verbose_name='手机号')),
|
|
('avatar', models.CharField(blank=True, max_length=255, verbose_name='头像')),
|
|
('gender', models.SmallIntegerField(choices=[(0, '未知'), (1, '男'), (2, '女')], default=0, verbose_name='性别')),
|
|
('role_type', models.CharField(blank=True, max_length=30, verbose_name='主角色')),
|
|
('title_name', models.CharField(blank=True, max_length=50, verbose_name='职称')),
|
|
('major', models.CharField(blank=True, max_length=100, verbose_name='专业')),
|
|
('training_stage', models.CharField(blank=True, max_length=50, verbose_name='培训阶段')),
|
|
('learning_target', models.CharField(blank=True, max_length=255, verbose_name='学习目标')),
|
|
('competency_profile', models.JSONField(blank=True, default=dict, verbose_name='能力画像')),
|
|
('weak_dimensions', models.JSONField(blank=True, default=list, verbose_name='薄弱项')),
|
|
('strong_dimensions', models.JSONField(blank=True, default=list, verbose_name='优势项')),
|
|
('ai_preference', models.JSONField(blank=True, default=dict, verbose_name='AI训练偏好')),
|
|
('total_training_count', models.IntegerField(default=0, verbose_name='总训练次数')),
|
|
('total_case_count', models.IntegerField(default=0, verbose_name='完成病例数')),
|
|
('current_level', models.CharField(blank=True, max_length=30, verbose_name='当前能力等级')),
|
|
('status', models.SmallIntegerField(choices=[(0, '禁用'), (1, '正常')], default=1, verbose_name='状态')),
|
|
('last_login_time', models.DateTimeField(blank=True, null=True, verbose_name='最后登录')),
|
|
('is_staff', models.BooleanField(default=False, verbose_name='staff status')),
|
|
('is_active', models.BooleanField(default=True, verbose_name='active')),
|
|
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
|
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
|
|
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
|
|
('department', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='user.department', verbose_name='所属科室')),
|
|
('institution', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='user.institution', verbose_name='所属机构')),
|
|
],
|
|
options={
|
|
'verbose_name': '用户',
|
|
'verbose_name_plural': '用户',
|
|
'db_table': 'user',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='TeacherStudentRelation',
|
|
fields=[
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
|
('id', models.BigAutoField(primary_key=True, serialize=False)),
|
|
('relation_type', models.CharField(blank=True, max_length=30, verbose_name='关系类型')),
|
|
('start_time', models.DateTimeField(blank=True, null=True, verbose_name='开始时间')),
|
|
('end_time', models.DateTimeField(blank=True, null=True, verbose_name='结束时间')),
|
|
('status', models.SmallIntegerField(choices=[(0, '已结束'), (1, '进行中')], default=1, verbose_name='状态')),
|
|
('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='student_relations', to=settings.AUTH_USER_MODEL, verbose_name='学员')),
|
|
('teacher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='teacher_relations', to=settings.AUTH_USER_MODEL, verbose_name='带教老师')),
|
|
],
|
|
options={
|
|
'verbose_name': '师生关系',
|
|
'verbose_name_plural': '师生关系',
|
|
'db_table': 'teacher_student_relation',
|
|
},
|
|
),
|
|
]
|