# Generated by Django 5.1.5 on 2025-06-09 08:28 import django.db.models.deletion import django.utils.timezone import uuid from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='FeedbackTag', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('tag_name', models.CharField(max_length=50, unique=True)), ('tag_type', models.CharField(choices=[('positive', '正面'), ('negative', '负面')], max_length=20)), ('description', models.TextField(blank=True, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ], options={ 'verbose_name': '反馈标签', 'verbose_name_plural': '反馈标签', }, ), migrations.CreateModel( name='SystemConfig', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('config_key', models.CharField(max_length=50, unique=True)), ('config_value', models.TextField(blank=True, null=True)), ('config_type', models.CharField(choices=[('string', '字符串'), ('integer', '整数'), ('float', '浮点数'), ('boolean', '布尔值'), ('json', 'JSON')], default='string', max_length=20)), ('description', models.TextField(blank=True, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ], options={ 'verbose_name': '系统配置', 'verbose_name_plural': '系统配置', }, ), migrations.CreateModel( name='Conversation', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('is_submitted', models.BooleanField(default=False)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='conversations', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': '对话', 'verbose_name_plural': '对话', }, ), migrations.CreateModel( name='ConversationSubmission', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('title', models.CharField(blank=True, max_length=255, null=True)), ('description', models.TextField(blank=True, null=True)), ('status', models.CharField(choices=[('submitted', '已提交'), ('reviewed', '已审核'), ('accepted', '已接受'), ('rejected', '已拒绝')], default='submitted', max_length=20)), ('quality_score', models.IntegerField(blank=True, null=True)), ('reviewer_notes', models.TextField(blank=True, null=True)), ('submitted_at', models.DateTimeField(default=django.utils.timezone.now)), ('reviewed_at', models.DateTimeField(blank=True, null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='rlhf.conversation')), ('reviewer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='reviewed_submissions', to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': '对话提交', 'verbose_name_plural': '对话提交', }, ), migrations.CreateModel( name='Message', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('role', models.CharField(choices=[('user', '用户'), ('assistant', '助手'), ('system', '系统')], max_length=20)), ('content', models.TextField()), ('timestamp', models.DateTimeField(default=django.utils.timezone.now)), ('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages', to='rlhf.conversation')), ], options={ 'verbose_name': '消息', 'verbose_name_plural': '消息', 'ordering': ['timestamp'], }, ), migrations.CreateModel( name='Feedback', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('feedback_value', models.IntegerField()), ('timestamp', models.DateTimeField(default=django.utils.timezone.now)), ('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feedback', to='rlhf.conversation')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feedback', to=settings.AUTH_USER_MODEL)), ('message', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feedback', to='rlhf.message')), ], options={ 'verbose_name': '反馈', 'verbose_name_plural': '反馈', }, ), migrations.CreateModel( name='DetailedFeedback', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('feedback_type', models.CharField(choices=[('positive', '正面'), ('negative', '负面'), ('neutral', '中性')], max_length=20)), ('feedback_tags', models.TextField(blank=True, null=True)), ('custom_tags', models.TextField(blank=True, null=True)), ('custom_content', models.TextField(blank=True, null=True)), ('is_inline', models.BooleanField(default=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='detailed_feedback', to='rlhf.conversation')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='detailed_feedback', to=settings.AUTH_USER_MODEL)), ('message', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='detailed_feedback', to='rlhf.message')), ], options={ 'verbose_name': '详细反馈', 'verbose_name_plural': '详细反馈', }, ), migrations.CreateModel( name='ConversationEvaluation', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('overall_feeling', models.TextField(blank=True, null=True)), ('has_logical_issues', models.CharField(choices=[('yes', '是'), ('no', '否'), ('unsure', '不确定')], max_length=10)), ('needs_satisfied', models.CharField(choices=[('yes', '是'), ('no', '否'), ('partially', '部分')], max_length=10)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('updated_at', models.DateTimeField(default=django.utils.timezone.now)), ('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='evaluations', to='rlhf.conversation')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='evaluations', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': '对话评估', 'verbose_name_plural': '对话评估', 'unique_together': {('conversation', 'user')}, }, ), ]