[Admin] Django Admin계정에서 models 둘러보기

이상해씨·2023년 12월 15일
0

장고 (Django)

목록 보기
27/38
post-custom-banner

데이터 생성하기

  • models 클릭 > ADD <models 명>

  • 화면에서 models.py에서 설정한 칼럼들이 나오는 것을 볼 수 있다.

  • 데이터 입력 후 > SAVE시, 데이터가 생성됨

    This field is required.에러가 날 경우, This field is required. 포스팅 참고하기 👈

데이터 목록 형식 바꾸어 보기

  • 특별한 지정이 없을 경우, admin 페이지에서 데이터 목록은 object(숫자) 형식으로 표기가 된다. 만약, 이 형식을 바꾸고 싶다면 아래와 같이 설정을 한다.

Models.py에서 변경하기

  • Models.py에서 str의 return 값을 변경한다.
    아래 코드일 경우 위 목록 처럼 데이터 title이 데이터명으로 출력이 된다.
from django.db import models

# Create your models here.
class Notice(models.Model):
    title=models.CharField(max_length=100)
    likeCount=models.IntegerField(blank=True)
    viewCount=models.IntegerField(blank=True)
    contents=models.TextField(blank=True)

    def __str__(self):
        return self.title

from django.db import models

# Create your models here.
class Notice(models.Model):
    title=models.CharField(max_length=100)
    likeCount=models.IntegerField(blank=True)
    viewCount=models.IntegerField(blank=True)
    contents=models.TextField(blank=True)

    def __str__(self):
        return f'{self.title} !!! {self.likeCount}'

위 코드를 Models.py에 적용시 아래와 같은 형태로 목록에 데이터가 표기된다.

admin.py에서 변경하기

1. 데이터 목록에서 칼럼 분리하기

  • 목록에서 데이터 칼럼을 분리하고 싶을 경우 어드민 페이지에서 설정한다.
from django.contrib import admin
from .models import Notice

# Register your models here.
#admin.site.register(Notice)

@admin.register(Notice)
class NoticeAdmin(admin.ModelAdmin):
    list_display = ['title', 'likeCount']

위 이미지를 보면 알 수 있지만, LikeCount 칼럼에는 검정색으로 Link가 활성화되지 않은 텍스트라는 것을 알 수 있다.
Link를 연결하기 위해서는 admin.py에 아래와 같은 코드를 추가해 주어야 한다.

from django.contrib import admin
from .models import Notice

# Register your models here.
#admin.site.register(Notice)

@admin.register(Notice)
class NoticeAdmin(admin.ModelAdmin):
    list_display = ['title', 'likeCount']
    list_display_links = ['title', 'likeCount']

profile
공부에는 끝이 없다
post-custom-banner

0개의 댓글