from django.contrib import admin from .models import Client, Task, TaskResult @admin.register(Client) class ClientAdmin(admin.ModelAdmin): """客户端管理类""" list_display = ('name', 'token', 'last_seen', 'created_at') list_filter = ('created_at', 'last_seen') search_fields = ('name',) readonly_fields = ('token', 'created_at', 'last_seen') @admin.register(Task) class TaskAdmin(admin.ModelAdmin): """任务管理类""" list_display = ('name', 'client_name', 'status', 'timeout_seconds', 'created_at', 'updated_at', 'assigned_to') list_filter = ('status', 'created_at', 'updated_at', 'started_at', 'completed_at') search_fields = ('name', 'client_name', 'assigned_to') readonly_fields = ('created_at', 'updated_at', 'started_at', 'completed_at') fieldsets = ( (None, { 'fields': ('name', 'client_name', 'script', 'status', 'timeout_seconds') }), ('执行信息', { 'fields': ('assigned_to', 'started_at', 'completed_at'), 'classes': ('collapse',) }), ('时间信息', { 'fields': ('created_at', 'updated_at'), 'classes': ('collapse',) }), ) @admin.register(TaskResult) class TaskResultAdmin(admin.ModelAdmin): """任务结果管理类""" list_display = ('task', 'client', 'status', 'created_at') list_filter = ('status', 'created_at', 'client') search_fields = ('task__name', 'client__name', 'message') readonly_fields = ('created_at',) fieldsets = ( (None, { 'fields': ('task', 'client', 'status', 'message') }), ('结果文件', { 'fields': ('result_file',), 'classes': ('collapse',) }), ('时间信息', { 'fields': ('created_at',), 'classes': ('collapse',) }), )