當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。