Django學習筆記之為Model新增Action

2022-09-28 19:39:27 字數 1573 閱讀 1932

在使用django自帶的admin後台的時候,他提供了一些預設的指令可以對資料進行操作, 比如批量刪除,修改等 同樣的我們也可以新增自己的指令。

|- django版本:1.8

|- python版本:3.4

models.py

class story(models.model):

#編輯story狀態

status_choices = (

(1,diocjew '待編輯狀態'),

(2, '待批准狀態'),

(3, '已發布狀態'),

(4, '已存檔'),

) title = models.charfield(max_length=100, verbose_ndiocjewame=u'文章')

slug = models.slugfield(verbose_na程式設計客棧me=u'簡短標題')

category =models.foreignkey(category, verbose_name=u'分類')

owner = models.foreignkey(user, verbose_name=u'發布者')

status = models.integerfield(choices=status_choices, default=1, verbose_name=u'發布狀態')

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')

# 狀態選擇器

list_filter = ('status', 'owner', 'created', 'modified',)

prepopulated_fields =

actions = ['make_story_public']

def make_story_public(self, request, queryset):

# queryset引數為選中的story物件

rows_updated = queryset.update(status=3)

message_bit = "%s 篇文章" % rows_updated

self.message_user(request, "%s 已成功標記為已發布狀態." % message_bit)

make_story_public.short_description = u'修改選中文章為已發布狀態'

本文標題: django學習筆記之為model新增action

本文位址: /jiaoben/python/258054.html

Django學習筆記

django web程式設計思路 global setting run server check environment start project django admin.py startproject mysite 生成專案檔案 manage.py 檔案基本就是 django admin.py...

django學習筆記( )

下面的都是自己學習django框架開發的過程記錄,全當做筆記了,不喜勿噴,大神求指教 環境 ubuntu14.04 django 1.8.3 python 2.7.6 ide eclipse pydev 首先先建立乙個django project 名為blog 再在blog下建立statics與te...

django學習筆記

為了學習fabric,因為fabric的示例用到了django專案,所以就快速地開始根據官網的教程,搭建了簡單的投票應用,剛走通了前幾步。我覺得django搭建 的速度實在是超級快!非常適合快速原型開發。我很喜歡的是,只要改改模型 model view controller的model 也就是核心業...