重新架构了整个models
This commit is contained in:
@@ -1,9 +1,50 @@
|
||||
from django.contrib import admin
|
||||
from .models import Service
|
||||
from .models import ServiceGroup, Service, ServiceCheckRecord
|
||||
|
||||
# 引入loguru库用于日志记录
|
||||
try:
|
||||
from loguru import logger
|
||||
except ImportError:
|
||||
import logging
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@admin.register(ServiceGroup)
|
||||
class ServiceGroupAdmin(admin.ModelAdmin):
|
||||
list_display = ('name', 'description')
|
||||
search_fields = ('name', 'description')
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
if change:
|
||||
logger.info(f"更新服务分组: {obj.name}")
|
||||
else:
|
||||
logger.info(f"创建新服务分组: {obj.name}")
|
||||
super().save_model(request, obj, form, change)
|
||||
|
||||
@admin.register(Service)
|
||||
class ServiceAdmin(admin.ModelAdmin):
|
||||
list_display = ('name', 'status', 'description', 'ip_address', 'port', 'reliability', 'last_updated')
|
||||
list_filter = ('status',)
|
||||
search_fields = ('name', 'ip_address', 'description')
|
||||
list_display = ('name', 'group', 'host', 'port', 'check_type', 'is_active', 'created_at')
|
||||
list_filter = ('group', 'check_type', 'is_active')
|
||||
search_fields = ('name', 'host', 'description')
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
if change:
|
||||
logger.info(f"更新服务: {obj.name} ({obj.host})")
|
||||
else:
|
||||
logger.info(f"创建新服务: {obj.name} ({obj.host})")
|
||||
super().save_model(request, obj, form, change)
|
||||
|
||||
admin.site.register(Service, ServiceAdmin)
|
||||
@admin.register(ServiceCheckRecord)
|
||||
class ServiceCheckRecordAdmin(admin.ModelAdmin):
|
||||
list_display = ('service', 'status', 'response_time', 'checked_at')
|
||||
list_filter = ('status', 'service__group', 'service')
|
||||
search_fields = ('service__name', 'message')
|
||||
date_hierarchy = 'checked_at'
|
||||
readonly_fields = ('service', 'status', 'response_time', 'message', 'checked_at')
|
||||
|
||||
def has_add_permission(self, request):
|
||||
return False # 禁止手动添加检测记录,只能通过API上报
|
||||
|
||||
def has_change_permission(self, request, obj=None):
|
||||
return False # 禁止修改检测记录
|
||||
|
||||
logger.info("管理后台配置已加载")
|
||||
|
||||
Reference in New Issue
Block a user