02. 커스텀필드

강재구·2021년 4월 27일
0

Django Admin Page Custom

목록 보기
2/3

Models.py

class Post(models.Model):
    message = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    
    def __str__(self):
    	return self.message
        
        
    # 이거 표시하려고 포스팅했음. 제일 중요
    # def message_length(self):
    # 	 return len(self.message)
    # message_length.short_description = '메시지 글자수'

admin.py

from django.contrib import admin
from .models import Post

@admin.register(Post) # Decorator, Wrapping
classs PostAdmin(admin.ModelAdmin):
	list_display = ['id', 'message', 'message_length', 'creatd_at', 'updated_at']
	list_display_links = ['message']
 
 # models.py 에 정의할수도 있고, admin.py에다가도 정의할 수 있음 (이거추천)
 def message_legnth(self, post):
 	return f'{len(post.message)} 글자'
 

위와 같이 설정을 하게되면
정의한 함수 message_length() 가 admin page내에서 글자수를 출력하는 컬럼(필드)로 나타낼 수 있게 된다.

profile
Python Backend Developer @Fitpet

0개의 댓글