72 lines
3.0 KiB
Python
72 lines
3.0 KiB
Python
from django.contrib import admin
|
|
from .models import (
|
|
Conversation, Message, Feedback, FeedbackTag, DetailedFeedback,
|
|
ConversationSubmission, ConversationEvaluation, SystemConfig
|
|
)
|
|
|
|
|
|
@admin.register(Conversation)
|
|
class ConversationAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'user', 'is_submitted', 'created_at')
|
|
list_filter = ('is_submitted', 'created_at')
|
|
search_fields = ('id', 'user__username')
|
|
date_hierarchy = 'created_at'
|
|
|
|
|
|
@admin.register(Message)
|
|
class MessageAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'conversation', 'role', 'short_content', 'timestamp')
|
|
list_filter = ('role', 'timestamp')
|
|
search_fields = ('id', 'conversation__id', 'content')
|
|
date_hierarchy = 'timestamp'
|
|
|
|
def short_content(self, obj):
|
|
return obj.content[:50] + '...' if len(obj.content) > 50 else obj.content
|
|
short_content.short_description = '内容'
|
|
|
|
|
|
@admin.register(Feedback)
|
|
class FeedbackAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'message', 'conversation', 'user', 'feedback_value', 'timestamp')
|
|
list_filter = ('feedback_value', 'timestamp')
|
|
search_fields = ('id', 'message__id', 'conversation__id', 'user__username')
|
|
date_hierarchy = 'timestamp'
|
|
|
|
|
|
@admin.register(FeedbackTag)
|
|
class FeedbackTagAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'tag_name', 'tag_type', 'description', 'created_at')
|
|
list_filter = ('tag_type', 'created_at')
|
|
search_fields = ('id', 'tag_name', 'description')
|
|
|
|
|
|
@admin.register(DetailedFeedback)
|
|
class DetailedFeedbackAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'message', 'conversation', 'user', 'feedback_type', 'is_inline', 'created_at')
|
|
list_filter = ('feedback_type', 'is_inline', 'created_at')
|
|
search_fields = ('id', 'message__id', 'conversation__id', 'user__username', 'custom_content')
|
|
date_hierarchy = 'created_at'
|
|
|
|
|
|
@admin.register(ConversationSubmission)
|
|
class ConversationSubmissionAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'conversation', 'user', 'title', 'status', 'quality_score', 'reviewer', 'submitted_at', 'reviewed_at')
|
|
list_filter = ('status', 'quality_score', 'submitted_at', 'reviewed_at')
|
|
search_fields = ('id', 'conversation__id', 'user__username', 'title', 'description', 'reviewer__username')
|
|
date_hierarchy = 'submitted_at'
|
|
|
|
|
|
@admin.register(ConversationEvaluation)
|
|
class ConversationEvaluationAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'conversation', 'user', 'has_logical_issues', 'needs_satisfied', 'created_at')
|
|
list_filter = ('has_logical_issues', 'needs_satisfied', 'created_at')
|
|
search_fields = ('id', 'conversation__id', 'user__username', 'overall_feeling')
|
|
date_hierarchy = 'created_at'
|
|
|
|
|
|
@admin.register(SystemConfig)
|
|
class SystemConfigAdmin(admin.ModelAdmin):
|
|
list_display = ('id', 'config_key', 'config_value', 'config_type', 'description', 'updated_at')
|
|
list_filter = ('config_type', 'updated_at')
|
|
search_fields = ('id', 'config_key', 'config_value', 'description')
|
|
date_hierarchy = 'updated_at' |