from django.contrib import admin from apps.operation.models import OperatorAccount, PlatformAccount, Video @admin.register(OperatorAccount) class OperatorAccountAdmin(admin.ModelAdmin): list_display = ('username', 'real_name', 'position', 'department', 'is_active', 'created_at') list_filter = ('position', 'department', 'is_active') search_fields = ('username', 'real_name', 'email', 'phone') ordering = ('-created_at',) @admin.register(PlatformAccount) class PlatformAccountAdmin(admin.ModelAdmin): list_display = ('account_name', 'platform_name', 'get_operator_name', 'status', 'followers_count', 'created_at') list_filter = ('platform_name', 'status') search_fields = ('account_name', 'account_id', 'operator__real_name') ordering = ('-created_at',) def get_operator_name(self, obj): return obj.operator.real_name get_operator_name.short_description = '运营账号' get_operator_name.admin_order_field = 'operator__real_name' @admin.register(Video) class VideoAdmin(admin.ModelAdmin): list_display = ('title', 'get_platform_name', 'get_account_name', 'status', 'views_count', 'created_at') list_filter = ('status', 'platform_account__platform_name') search_fields = ('title', 'description', 'platform_account__account_name') ordering = ('-created_at',) def get_platform_name(self, obj): return obj.platform_account.get_platform_name_display() def get_account_name(self, obj): return obj.platform_account.account_name get_platform_name.short_description = '平台' get_platform_name.admin_order_field = 'platform_account__platform_name' get_account_name.short_description = '账号名称' get_account_name.admin_order_field = 'platform_account__account_name'