1. 因为admin后台管理页面新增、修改、删除数据表中的数据时会自动调用admin.ModelAdmin类中的两个方法
save_model方法和delete_model方法,所以我们只需要对这个两个方法进行重写扩展即可
2. admin.py中的代码如下
from django.contrib import admin
from .models import GoodsType, IndexGoodsBanner, IndexPromotionBanner, IndexTypeGoodsBanner
from .models import GoodsSKU
from celery_tasks.tasks import generate_static_index_htmlclass IndexPromotionBannerAdmin(admin.ModelAdmin):def save_model(self, request, obj, form, change):"""新增或更新表中的数据时调用"""# 调用父类的save_model方法super().save_model(request, obj, form, change)# 发出任务,让celery worker重新生成首页静态页面generate_static_index_html.delay()def delete_model(self, request, obj):"""删除表中的数据时调用"""# 调用父类的delete_model方法super().delete_model(request, obj)# 发出任务,让celery worker重新生成首页静态页面generate_static_index_html.delay()# 注册模型类
admin.site.register(IndexTypeGoodsBanner, IndexPromotionBannerAdmin)