中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用python django框架中的admin actions

發布時間:2020-11-10 09:46:41 來源:億速云 閱讀:224 作者:小新 欄目:編程語言

如何使用python django框架中的admin actions?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

關于django 框架

django 框架配有一個功能強大的管理站點,里面已經預定義了許多管理站點需要進行的操作,但是有時可能默認的操作不能滿足需求,如需要批量更新選中的對象,這需要編寫自定義 action 實現。

Admin actions 簡介

admin actions 是一些在 admin 站點下拉列表中可以選擇執行的簡單函數,比如刪除一個對象操作。

編寫 Admin actions

下面舉例說明如何編寫Admin action。例如批量更新一個名為 Article 的模型:

from django.db import models
 
STATUS_CHOICES = [
 
('d', 'Draft'),
 
('p', 'Published'),
 
('w', 'Withdrawn'),
 
]
 
classArticle(models.Model):
 
title = models.CharField(max_length=100)
 
body = models.TextField
 
status = models.CharField(max_length=1,choices=STATUS_CHOICES)
 
def__str__(self):
 
returnself.title

下面來編寫 action 函數,這個函數接受三個函數:

當前的 ModelAdmin

一個代表當前 HTTP 請求的 HttpRequest 對象

一個包含用戶選定的對象的 QuerySet (數據庫檢索對象)。

def make_published(modeladmin, request,queryset):
queryset.update(status='p')

為了達到最佳性能,推薦使用 QuerySet 的 update 方法

for obj in queryset:
 
do_something_with(obj)

默認情況下,該操作將以“ Make published ”的形式出現在操作列表中,就是函數名,下劃線將由空格替換。為了讓這個方法更容易被人了解,我們可以給它添加一個 short_description 屬性。

def make_published(modeladmin, request,queryset):
queryset.update(status='p')
make_published.short_description ="Markselected stories as published"

感謝各位的閱讀!看完上述內容,你們對如何使用python django框架中的admin actions大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

红原县| 松原市| 资源县| 通州市| 连云港市| 朝阳区| 陇南市| 麻城市| 南靖县| 军事| 西平县| 本溪| 衡阳市| 丰镇市| 武鸣县| 青龙| 永康市| 洛隆县| 化德县| 通许县| 雷山县| 玛曲县| 山西省| 文成县| 阳泉市| 镇赉县| 珠海市| 茶陵县| 阿城市| 密云县| 镇沅| 天水市| 中超| 白玉县| 东乌| 萍乡市| 宁蒗| 渑池县| 库车县| 钟山县| 交口县|