데이터에 접속하고 관리하도록 도와주는 객체
👉 model 생성
✍
class 모델명(models.Model): #모델명의 첫글자는 대문자로 (필수)
#변수명=데이터형식 으로 내가 사용하고자하는 필드들을 작성
def __str__(self): #제목에 오브젝트가 아니라 이름이 나오도록 (선택)
return self.name
예시)
class Deginer(models.Model): #모델명의 첫글자는 대문자로
image = models.ImageField(upload_to= 'images/') #이미지를 다루기 위해 pillow설치해야 함
->여기 image가 static글에 나오는 media를 사용한 예시다.
name = models.CharField(max_length = 50) #최대로 넣을 수 있는 글자 수는 50으로 설정
address = models.CharField(max_length = 255)
description = models.TextField()
#변수명=데이터형식
def __str__(self): #제목에 오브젝트가 아니라 이름이 나오도록
return self.name
❓❓사용가능한 필드는 저것밖에 없는건가요????
->필드의 종류는 굉장히 많습니다! 한번 찾아보시는걸 추천합니다^^
✍ 터미널에 순서대로 명령어 작성
(1)python manage.py makemigrations (+앱이름)_DB가 알아 듣도록 번역
(2)python manage.py migrate (+앱이름)_번역한 내용을 DB에 전송
(+앱이름을 작성하면 특정 앱만 db가 알아들음)
- django는 웹 서비스 관리를 위한 admin 기능 기본 제공
- admin을 이용하여 데이터들을 관리 가능
✍ admin.py에 모델이 생성되었음을 알려줌으로써 admin에서 데이터 관리가 가능하게 함
from <앱이름>.models import <model이름>
admin.site.register(<model이름>)
예시)
from main.models import Deginer
admin.site.register(Deginer)
👉admin을 관리할 수 있는 계정 생성
✍ 터미널에 명령어 작성
python manage.py createsuperuser