Files
central-task/tasks/admin.py

57 lines
1.8 KiB
Python
Raw Normal View History

2025-12-11 14:33:32 +08:00
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',)
}),
)