Like A Flowing Cloud

model & admin / migration 본문

Django

model & admin / migration

Like A Flowing Cloud 2021. 6. 14. 00:21
  • model = django 가 데이터베이스를 관리하게끔 해준다.
  • admin = 이런 model을 관리하는 역할

■ 원하는 데이터 등록

  • blog 앱 안에 있는 models.py 로 가서 처리하고 싶은 데이터의 종류를 적어준다
  • ( python의 class 개념 이용. why? models.py에 class로 데이터를 등록하고, 각 포스팅은 이 class의 인스턴스가 된다고 생각. )
  • 통상적으로 models.py 에서 class 이름은 맨 앞을 대문자로 표기
  • 인자로 models.Model 을 받게 됨.
    class Blog(models.Model):
    이를 통해서 models은 Blog가 장고 모델임을 알게 됨.
    이 때문에 데이터베이스에 저장 할 수 ㅇ.
  • models의 field들이 나온다. (title->CharField / pub_date->DateField / body->TextField)

■ django 와 데이터 베이스를 연동시키기

  • settings.py에 데이터베이스에 관한 설정 ㅇ.
  • django는 데이터 베이스 초기값으로 sqlite3를 사용.

python manage.py makemigrations

→ 연동시키기 위해서 terminal에서 등록 

→ blog 앱 밑에 migrations 이라는 폴더를 생성하여 django와 데이터베이스가 서로 소통할 수 있게 해준다.

 

python manage.py migrate

→ 데이터베이스에 최신  models 를 적용시키는 명령어.

 

■ admin 계정 만들기

  • terminal 에서 user를 생성하는 명령어는
    python manage.py createsuperuser
  • admin에 models를 등록하기

<admins.py>

from .models import Blog

admin.site.register(Blog)
  •  __str__ 함수 사용 : 우리가 원하는 모양으로 바꿔줄 수 ㅇ
def __str__(self):
	return self.title

'Django' 카테고리의 다른 글

pk, path converter, get_object_or_404, 글자수 제한, 링크달기  (0) 2021.06.14
queryset & method  (0) 2021.06.14
Django[4] - 템플릿 언어  (0) 2021.04.08
Django[3] - 앱 제작 순서  (0) 2021.04.08
Django[2] - 가상환경 만들기  (0) 2021.04.08