# Generated by Django 6.0.6 on 2026-06-28 04:14 import django.db.models.deletion import uuid from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('cases', '0001_initial'), ] operations = [ migrations.CreateModel( name='Knowledge', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('knowledge_id', models.CharField(blank=True, db_index=True, default='', editable=False, help_text='Record ID e.g. knowledge_000001 (记录 ID e.g. knowledge_000001)', max_length=32, unique=True)), ('title', models.CharField(blank=True, default='', help_text='Knowledge title (知识标题)', max_length=500)), ('body', models.TextField(blank=True, default='', help_text='Knowledge content (知识内容)')), ('expires_at', models.DateTimeField(blank=True, help_text='Knowledge expiration time; empty means permanently valid (知识过期时间,空表示永久有效)', null=True)), ('source', models.CharField(blank=True, choices=[('Manual', 'Manual'), ('Case', 'Case')], default='', help_text='Knowledge source (知识来源)', max_length=20)), ('tags', models.JSONField(blank=True, default=list, help_text='Knowledge tags (知识标签)')), ('case', models.OneToOneField(blank=True, help_text='Case this Knowledge was extracted from; empty for manual Knowledge (知识提取来源 Case, 手动知识为空)', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='extracted_knowledge', to='cases.case')), ], options={ 'db_table': 'knowledge', 'ordering': ['-created_at'], }, ), ]