在使用Django自带的admin后台的时候,他提供了一些默认的指令可以对数据进行操作, 比如批量删除,修改等
同样的我们也可以添加自己的指令。 创建一个Django项目的某个App下的admin.py
from django.contrib import admin
from .models import Article
#将Article注册到后台
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
# 后台列表展示的字段
list_display = ('title', 'status')
# 动作集合 修改为字符串
actions = ['make_article_published']
# 指令处理函数,参数固定写法
def make_article_published(self, request, queryset):
# queryset 是从数据库查询到的model set
# 更新status状态为p,在此处就是Article
queryset.update(status='p')
# 操作完成后的提示信息
self.message_user(request, '修改成功')
# 此指令的名称
make_article_published.short_description = '更改状态为发布'
重起服务器,执行动作(action)修改状态,执行成功,而且还有提示信息。