Django.db
- 일반적으로 Django는 ORM(Object-Relational Mapping)은 app의 models.py에 Class를 정의하고 해당 ORM 객체를 만들고 DB와 연동한다.
- 해당 과정에서 Django.db 의 모듈이 주로 사용되는데 관련 라이브러리의 소스코드를 분해해 보았다.
Django.db | Django.DB 전체 파일 - backends/ - migrations/ - models/ - utils/ |
|
Django. db.backends |
Django에서 지원하는 DB들에 대한 Connector, Adapter 역할 - 실제 DB에 CRUD 해주는 역할 - Django Table을 해당 DB Table로 바꾸어 주는 역할 - 해당 모듈을 사용하려면 추가 라이브러리 설치가 필요 - mysql => mysqlclient / postgresql => psycopg2 |
|
Django. db.models |
Django db에서 가장 중요한 부분 - SQL 에서 쓰이는 모든 문법들과 ORM 객체 관련 함수 들 - Field에 대한 속성을 실질적으로 정의 하는 곳으로 보인다. 모듈 종류 - aggregates.py : 집계 역할 (avg, count, max, min 등) - constraints.py : 제약 조건 (unique 등) - expressions.py : 표현식 (orderby, exists 등) - fields/ : Class의 Field 값 객체 선언시 사용 (CharField, DateField 등) - query.py, query_utils.py : 실제 만들어진 sql문으로 문법 Check |
'Python > Django' 카테고리의 다른 글
[Django] 무식한 라이브러리 분해 2 (urls, shorcuts, http) (0) | 2022.05.31 |
---|---|
[Django] Django 명령어 설명 (0) | 2022.05.30 |
[Django] 프로젝트 구조 분석 (0) | 2022.05.30 |
[Django] MTV 패턴과 동작 Flow (0) | 2022.05.27 |
[Django] Admin 기능 (ORM 컨트롤) (0) | 2022.05.26 |