学校订餐菜单生成器:Django+DRF 后端与 React 前端,支持 A/B 双套营养周菜单生成、部分自选、拼音搜索、营养校准、Excel 导出
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
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',)}),
|
||||
)
|
||||
Reference in New Issue
Block a user