operations_project/apps/operation/admin.py
2025-05-13 11:58:17 +08:00

37 lines
1.7 KiB
Python

from django.contrib import admin
from .models import OperatorAccount, PlatformAccount, Video
@admin.register(OperatorAccount)
class OperatorAccountAdmin(admin.ModelAdmin):
list_display = ('username', 'real_name', 'email', 'phone', 'position', 'department', 'is_active', 'created_at')
list_filter = ('position', 'department', 'is_active')
search_fields = ('username', 'real_name', 'email', 'phone')
date_hierarchy = 'created_at'
readonly_fields = ('created_at', 'updated_at')
@admin.register(PlatformAccount)
class PlatformAccountAdmin(admin.ModelAdmin):
list_display = ('account_name', 'platform_name', 'operator', 'status', 'followers_count', 'last_posting', 'created_at')
list_filter = ('platform_name', 'status')
search_fields = ('account_name', 'account_id', 'description')
date_hierarchy = 'created_at'
readonly_fields = ('created_at', 'updated_at')
def get_queryset(self, request):
"""优化查询,减少数据库查询次数"""
queryset = super().get_queryset(request)
return queryset.select_related('operator')
@admin.register(Video)
class VideoAdmin(admin.ModelAdmin):
list_display = ('title', 'platform_account', 'status', 'views_count', 'likes_count', 'publish_time', 'created_at')
list_filter = ('status', 'created_at', 'publish_time')
search_fields = ('title', 'description', 'tags')
date_hierarchy = 'created_at'
readonly_fields = ('created_at', 'updated_at')
def get_queryset(self, request):
"""优化查询,减少数据库查询次数"""
queryset = super().get_queryset(request)
return queryset.select_related('platform_account', 'platform_account__operator')