티스토리 뷰

데이터베이스의 종류

  • 관계형 데이터베이스(MySql)
  • NoSQL(MongoDB)

데이터베이스에 쿼리하기 위한 언어 → SQL

같은 작업을 하더라도, 적은 수의 SQL, 보다 높은 성능의 SQL을 사용해야 함

직접 쿼리를 작성하기도 하지만, ORM을 통해 SQL을 생성, 실행함

ORM을 쓰더라도, 내가 작성한 ORM코드로 어떤 SQL이 실행되고 있는지 파악을 하고, 이를 최적화 할 수 있어야 함(django-debug-toolbar)활용

장고 기본 ORM Model은 RDB(관계형 데이터베이스)만을 지원함 NoSql을 쓰려면 다른 ORM을 사용해야함

PythonORM은 여러가지가 존재함 Models, django-mongodb-engine, hot-redis등등 필요한것을 골라먹으면 됨

장고의 강점은 ModelForm이 강력하다는 것!

SQL을 직접 작성할 수도 있지만, 웬만하면 ORM 을 사용해야 함(왜? → SQL injection (sql문을 form을 통해 직접 접근할 수 있을때, 쿼리문을 날리는 공격) 을 방지하기 위함)

Django Model

  • 데이터베이스 테이블과 파이썬 클래스를 1:1로 매핑
  • 모델 클래스명은 단수형으로 지정
  • 매핑되는 모델 클래스는 DB 테이블 필드 내역이 일치해야함
  • 데이터베이스 설계가 필수

모델 활용 순서

  1. 모델 클래스 작성
  1. 모델 클래스로부터 마이그레이션 파일 생성
  1. 마이그레이션 파일을 데이터베이스에 적용
  1. 모델 활용

외부에서 데이터베이스를 작성한 경우

inspectdb 명령어로 클래스 작성가능


Uploaded by N2T

'Python > Django' 카테고리의 다른 글

Django의 MVT패턴  (0) 2023.04.24
Django 흐름도  (0) 2023.04.24
Django에서 Url요청을 처리하는 법  (0) 2023.04.24
View의 역할  (0) 2023.04.24
Django 공부 시작  (0) 2023.04.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함