不得不说,Django的Admin真的给开发带来很多便利,这不,我又来折腾了,这次是添加自定义的action
这个自定义的Action可以看看官方文档的介绍,很详细,不再赘述。
https://docs.djangoproject.com/en/3.0/ref/contrib/admin/actions/docs.djangoproject.com界面效果

Django默认的添加完action是要选择下面的对象才能提交的,不过我不需要啊,我就要简简单单点击开始抽奖就直接抽奖出来了,功夫不负有心人,我还是在Stack Overflow找到了解决方案,(果然是面向sof编程)
接下来介绍一下如何实现的~
定义Action
在admin.py
中写代码:
@admin.register(models.PrizeLog)
class PrizeLogAdmin(admin.ModelAdmin):
actions = ['draw_prize']
def draw_prize(self, request, queryset):
pass
draw_prize.short_description = '开始抽奖'
draw_prize.type = 'warning'
draw_prize.confirm = '确认即开始抽奖并发送中奖通知~'
这样就把按钮显示出来了,但是现在点击完是不会执行draw_prize