当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python Django action用法及代码示例

本文介绍 django.contrib.admin.action 的用法。

声明

action(*, permissions=None, description=None)
Django 3.2 中的新函数。

此装饰器可用于设置可与 actions 一起使用的自定义操作函数的特定属性:

@admin.action(
    permissions=['publish'],
    description='Mark selected stories as published',
)
def make_published(self, request, queryset):
    queryset.update(status='p')

这相当于直接在函数上设置一些属性(使用原始的、更长的名称):

def make_published(self, request, queryset):
    queryset.update(status='p')
make_published.allowed_permissions = ['publish']
make_published.short_description = 'Mark selected stories as published'

使用这个装饰器不是必须的来创建一个动作函数,但是在你的源代码中使用它而不带参数作为一个标记来识别函数的目的是很有用的:

@admin.action
def make_inactive(self, request, queryset):
    queryset.update(is_active=False)

在这种情况下,它不会向函数添加任何属性。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.contrib.admin.action。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。