Django Admin에 새로운 action 추가
2021. 1. 25. 18:39ㆍ파이썬/Django
1. actions에 추가하여 등록
2. Admin 클래스 안의 함수는 문자로 등록('make_published2')하고, 클래스 밖의 함수는 이름으로 등록(make_published)
3. action수행 결과 피드백은 self.message_user(request, '...')으로 처리
4. 선택한 객체 갯수는 len(queryset)으로 처리
5. 객체 이름은 verbose_name_plural로 처리
from django.contrib import admin
from myapp.models import Article
def make_published(modeladmin, request, queryset):
queryset.update(status='p')
self.message_user(request, '%d %s was successfully marked as published.' %(len(queryset), verbose_name_plural))
make_published.short_description = "Mark selected stories as published"
class ArticleAdmin(admin.ModelAdmin):
list_display = ['title', 'status']
ordering = ['title']
actions = [make_published,'make_published2']
def make_published2(modeladmin, request, queryset):
queryset.update(status='p')
make_published2.short_description = "Mark selected stories as published"
admin.site.register(Article, ArticleAdmin)
'파이썬 > Django' 카테고리의 다른 글
Django admin 탬플릿 오버라이트 (0) | 2021.01.30 |
---|---|
Admin에서 메뉴명 변경 (0) | 2021.01.25 |
BooleanField Json 처리 (0) | 2021.01.20 |
원하는 버전 설치 (0) | 2021.01.20 |
Django BooleanField 사용시 icon 에러 (0) | 2021.01.18 |