41 lines
2.2 KiB
Python
41 lines
2.2 KiB
Python
# Generated by Django 5.2.14 on 2026-06-03 07:07
|
|
|
|
import django.db.models.deletion
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('case', '0002_initial'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='CaseExamItem',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')),
|
|
('item_code', models.CharField(max_length=64, verbose_name='检查项目编码')),
|
|
('item_name', models.CharField(max_length=128, verbose_name='检查项目名称')),
|
|
('item_type', models.CharField(max_length=32, verbose_name='项目类型')),
|
|
('category', models.CharField(blank=True, default='', max_length=64, verbose_name='项目分类')),
|
|
('result_text', models.TextField(verbose_name='结果文本')),
|
|
('result_structured', models.JSONField(blank=True, default=None, null=True, verbose_name='结构化结果')),
|
|
('is_key', models.BooleanField(default=False, verbose_name='是否关键检查')),
|
|
('is_abnormal', models.BooleanField(default=False, verbose_name='是否异常')),
|
|
('score_weight', models.DecimalField(decimal_places=2, default=1.0, max_digits=5, verbose_name='评分权重')),
|
|
('display_order', models.IntegerField(default=0, verbose_name='展示顺序')),
|
|
('case', models.ForeignKey(db_column='case_id', on_delete=django.db.models.deletion.CASCADE, related_name='exam_items', to='case.casebase', verbose_name='病例')),
|
|
],
|
|
options={
|
|
'verbose_name': '病例检查项',
|
|
'verbose_name_plural': '病例检查项',
|
|
'db_table': 'case_exam_item',
|
|
'ordering': ['display_order', 'id'],
|
|
'constraints': [models.UniqueConstraint(fields=('case', 'item_code'), name='uk_case_exam_item_code')],
|
|
},
|
|
),
|
|
]
|