from django.contrib import admin from .models import Dish @admin.action(description='启用所选菜品(参与自动生成)') def activate_dishes(modeladmin, request, queryset): queryset.update(is_active=True) @admin.action(description='停用所选菜品(不再参与自动生成)') def deactivate_dishes(modeladmin, request, queryset): queryset.update(is_active=False) @admin.register(Dish) class DishAdmin(admin.ModelAdmin): list_display = ('name', 'cuisine', 'dish_type', 'ingredient_detail', 'protein', 'fat', 'calorie', 'is_active', 'created_at') list_filter = ('dish_type', 'cuisine', 'is_active') search_fields = ('name', 'ingredient_detail', 'cuisine') list_editable = ('cuisine', 'dish_type', 'ingredient_detail', 'protein', 'fat', 'calorie', 'is_active') list_per_page = 50 actions = [activate_dishes, deactivate_dishes] fieldsets = ( (None, {'fields': ('name', 'dish_type', 'cuisine', 'is_active')}), ('营养信息', {'fields': ('ingredient_detail', 'protein', 'fat', 'calorie')}), ('其他', {'fields': ('description',), 'classes': ('collapse',)}), )