일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 30분
- 10분
- 잡생각
- realclass
- 리얼 클래스
- 매일
- 사이드
- 화상영어
- 링피트
- 파비최
- 개발자
- leetcode
- Writing
- 뭐든
- 월간
- 스탭퍼
- 영어원서읽기
- 미드시청
- 괜찮음
- FIT XR
- 운동
- 3줄정리
- English
- Problem Solving
- 영어공부
- 읽기
- 만화도
- 프로젝트
- 쓰릴오브파이트
- Daily Challenge
- Today
- Total
파비의 매일매일 공부기록
Django 실전 연습 #14 - ch14 본문
14장은 Model에 대한 기본 개념을 익히는 장이었다.
그전까지는 소스만 쭉 따라 쳐 봤는데, 이번 장부터는 꼼꼼히 읽어봐야 할 거 같아서 조금 더 시간이 걸리더라도 정독해봤다.
Manager 클래스라는 게 있다는데.. 처음 들어 보는데 뭔가 이해가 쉽지 않은 개념일 수도 있나 보다.
속성 = 테이블의 칼럼
메서드 = 테이블에는 없지만 ORM으로는 가능(테이블 관련 메서드)
속성은 필드 타입으로 지정되는데, 커스텀으로 만들 수도 있음. 이전장에서 해봤었음.
장고는 클래스 메서드를 사용하지 않고 객체 메서드만 사용. 이게 무슨 소릴까..? 메서드 호출 시 테이블 단위가 아니라 레코드 단위에만 영향을 미친다고 함. 아. 이게 Manager 클래스랑 연관이 있는 듯싶음.
장고에서 테이블 생성 룰 : 앱 이름_클래스 이름(소문자) db_table = '%%'으로 임의로 변경 가능.
Manager 속성의 디폴트 이름 : objects. 이거 filter 걸 때나 all() 등에 사용되었던 걸로 기억함.
Manager 속성은 여러 개 정의 가능. 근데 왜 여러 개가 필요할까?
1:N, N:N, 1:1 등의 '관계'가 있으며 이를 관리하는(다루는) 클래스를 관계 매니저라고 함. (1:1은 안 함)
관계 매니저에서 remove(), clear()는 상대 객체를 삭제하는 게 아니고 관계만 끊는 것.
1:N, N:N, 1:1 관계에 대해 shell로 실습해본 게 생각보다 흥미로웠다.
역시 백문이 불 여일 타라고 일단 이해 안 돼도 소스 작성을 했더니
눈에 띄는 것들이 있어서 설명들이 훨씬 더 머릿속에 잘 들어오는 것 같다.
'Study > Python' 카테고리의 다른 글
Django 실전 연습 #16 - ch16 (0) | 2021.03.03 |
---|---|
Django 실전 연습 #15 - ch15 (0) | 2021.03.02 |
Django 실전 연습 #13 - ch13 (0) | 2021.02.28 |
Django 실전 연습 #12 - ch12 (0) | 2021.02.27 |
Django 실전 연습 #11 - ch11 (0) | 2021.02.26 |