티스토리 뷰

반응형
  • 사용자에게 웹 페이지 상에서 데이터를 입력받는 경우, 해당 데이터를 DB에 저장해야한다.
  • 장고의 models.py == 데이터베이스 스키마, 각 클래스 == 테이블
  • models모듈의 Model클래스를 상속받아 클래스를 정의한다.
  • 내가 models.py에 정의한 Model 클래스대로 데이터베이스의 테이블이 생성된다.

 

모델 클래스 정의하기

articles > models.py

 

  • models 모듈의 Model 클래스를 상속받아 Article 클래스를 생성한다.
  • Article 클래스 안에 title, content, created_at, updated_at 필드를 생성한다.
    • max_length : 입력할 수 있는 최대값을 지정하는 CharField의 속성
    • auto_now_add : 사용자가 입력하는 값이 아니라 글(Article 클래스의 인스턴스)이 add될 때 자동으로 현재 날짜와 시각이 저장된다.
    • auto_now : 사용자가 입력하는 값이 아니라 글을 수정했을 때 자동으로 현재 날짜와 시각이 저장된다.

 

생성된 클래스를 실제 DB에 반영하기

$ python manage.py makemigrations
$ python manage.py migrate
  • 테이블 설계도 생성하기
  • 생성한 설계도를 실제 DB에 올리기
  • 기존 모델에 변경사항이 있을 때에도 migration 과정을 거쳐야한다.

db.sqlite3 > Open Database

 

SQLITE EXPLORER > db.sqlite3 > articles_article > Show Table
테이블 실행창

  • 아직 사용자로부터 입력받은 데이터가 없기 때문에 빈 테이블을 보여준다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함
반응형