Django 管理后面有个删除选择项的 Action,有时我们想对它进行重写,在删除的时候做一些额外操作,例如删除model的同时,更新与之关联的对象,默认是这样的
重写后是这样的:
具体的实现方式:
@admin.register(RecommendArticle)
class RecommendArticleAdmin(admin.ModelAdmin):
actions = ['delete_selected']
def delete_selected(self, request, obj):
for o in obj.all():
# 这里除了删除选择的对象之外,我还更新了其它对象
Article.objects.filter(id=o.id).update(is_ad=1)
o.delete()
delete_selected.short_description = '移除推荐列表'
关注公众号「Python之禅」,回复「1024」免费获取Python资源