Django學(xué)習(xí)筆記之為Model添加Action
在使用Django自帶的admin后臺(tái)的時(shí)候,他提供了一些默認(rèn)的指令可以對(duì)數(shù)據(jù)進(jìn)行操作, 比如批量刪除,修改等 同樣的我們也可以添加自己的指令。
|- Django版本:1.8
|- Python版本:3.4
models.py
class Story(models.Model):
#編輯Story狀態(tài)
STATUS_CHOICES = (
(1, '待編輯狀態(tài)'),
(2, '待批準(zhǔn)狀態(tài)'),
(3, '已發(fā)布狀態(tài)'),
(4, '已存檔'),
)
title = models.CharField(max_length=100, verbose_name=u'文章')
slug = models.SlugField(verbose_name=u'簡(jiǎn)短標(biāo)題')
category =models.ForeignKey(Category, verbose_name=u'分類')
owner = models.ForeignKey(User, verbose_name=u'發(fā)布者')
status = models.IntegerField(choices=STATUS_CHOICES, default=1, verbose_name=u'發(fā)布狀態(tài)')
class Meta:
ordering = ['modified','created']
verbose_name_plural = verbose_name = '文章'
def __str__(self):
return self.title
admin.py
class StoryAdmin(admin.ModelAdmin):
list_display = ('title', 'owner', 'status', 'created', 'modified','read_times','top', 'id')
search_fields = ('title', 'markdown_content')
# 狀態(tài)選擇器
list_filter = ('status', 'owner', 'created', 'modified',)
prepopulated_fields = {'slug': ('title',)}
actions = ['make_story_public']
def make_story_public(self, request, queryset):
# queryset參數(shù)為選中的Story對(duì)象
rows_updated = queryset.update(status=3)
message_bit = "%s 篇文章" % rows_updated
self.message_user(request, "%s 已成功標(biāo)記為已發(fā)布狀態(tài)." % message_bit)
make_story_public.short_description = u'修改選中文章為已發(fā)布狀態(tài)'
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python集成學(xué)習(xí)之Blending算法詳解
集成學(xué)習(xí)(又稱模型融合)就是結(jié)合若干個(gè)體分類器(基學(xué)習(xí)器)進(jìn)行綜合預(yù)測(cè),各個(gè)個(gè)體學(xué)習(xí)器通常是弱學(xué)習(xí)器.集成學(xué)習(xí)相較于個(gè)體學(xué)習(xí)在預(yù)測(cè)準(zhǔn)確率以及穩(wěn)定性上都有很大的提高.文中有非常詳細(xì)的代碼示例哦,需要的朋友可以參考下2021-05-05
Windows中安裝使用Virtualenv來(lái)創(chuàng)建獨(dú)立Python環(huán)境
有時(shí)我們的程序中需要調(diào)用不同版本的Python包和模塊,那么借助Virtualenv的虛擬環(huán)境就可以幫助我們隔離使用,接下來(lái)我們就來(lái)看一下在Windows中安裝使用Virtualenv來(lái)創(chuàng)建獨(dú)立Python環(huán)境的方法2016-05-05
Django項(xiàng)目uwsgi+Nginx保姆級(jí)部署教程實(shí)現(xiàn)
這篇文章主要介紹了Django項(xiàng)目uwsgi+Nginx保姆級(jí)部署教程實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python實(shí)現(xiàn)比較兩段文本不同之處的方法
這篇文章主要介紹了python實(shí)現(xiàn)比較兩段文本不同之處的方法,涉及Python針對(duì)文本與字符串的相關(guān)操作技巧,需要的朋友可以參考下2015-05-05
python讀寫(xiě)csv文件并增加行列的實(shí)例代碼
這篇文章主要介紹了python讀寫(xiě)csv文件并增加行列的實(shí)現(xiàn)方法,文中給大家介紹了python寫(xiě)入csv文件的幾種方法總結(jié),給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
Python中l(wèi)ambda的用法及其與def的區(qū)別解析
這篇文章主要介紹了Python中l(wèi)ambda的用法及其與def的區(qū)別解析,需要的朋友可以參考下2014-07-07
python scipy求解非線性方程的方法(fsolve/root)
今天小編就為大家分享一篇python scipy求解非線性方程的方法(fsolve/root),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11

