# Generated by Django 5.2.1 on 2025-06-10 08:10 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 = [ ('chat', '0002_negotiationchat'), 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='RLHFConversation', fields=[ ('negotiation_chat', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='rlhf_extension', serialize=False, to='chat.negotiationchat')), ('is_submitted', models.BooleanField(default=False)), ], options={ 'verbose_name': 'RLHF对话', 'verbose_name_plural': 'RLHF对话', }, ), 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='ConversationSubmission', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('conversation_id', models.CharField(max_length=100)), ('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)), ('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='DetailedFeedback', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('conversation_id', models.CharField(max_length=100)), ('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)), ('message', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rlhf_detailed_feedback', to='chat.chathistory')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='detailed_feedback', to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': '详细反馈', 'verbose_name_plural': '详细反馈', }, ), migrations.CreateModel( name='Feedback', fields=[ ('id', models.CharField(default=uuid.uuid4, editable=False, max_length=36, primary_key=True, serialize=False)), ('conversation_id', models.CharField(max_length=100)), ('feedback_value', models.IntegerField()), ('timestamp', models.DateTimeField(default=django.utils.timezone.now)), ('message', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rlhf_feedback', to='chat.chathistory')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feedback', to=settings.AUTH_USER_MODEL)), ], 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)), ('conversation_id', models.CharField(max_length=100)), ('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)), ('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_id', 'user')}, }, ), ]