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 = '메시지 글자수'
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내에서 글자수를 출력하는 컬럼(필드)로 나타낼 수 있게 된다.