#7.0 Introduction
- 장고는 자동으로 데이터베이스 추상화 API 제공함
- 객체를 생성하고 찾아오고 갱신하고 삭제할 수 있음
- vscode 열려있는 탭 모두 닫기
poetry shell
python manage.py shell
- 터미널에 입력 → 파이썬 콘솔을 실행하는데 django가 들어있음
from rooms.models import Room
- rooms 모델에 대한 데이터베이스에 접근 할 수 있음
Room.objects.all()
- 이런 식으로 데이터에 접근 가능
Room.objects.get(name=")
- 원하는 걸 검색할수도 있음
- .create, .filter도 있음
- 데이터 수정할 수도 있음
#7.1 filter, get, create, delete
- django에서 모델이 만들어지면 manager도 같이 생성
- all()은 모든 객체를 가져옴
- get()은 조건에 해당하는 값을 반환, 근데 1개만 가져올 수 있음, 2개이상은 에러
- 따라서 무언가 특별한 것을 찾을 때 쓰인다.
- fileter()는 get()과 같은 기능인데 여러개를 다 반환함
- create로 데이터 생성도 가능
- delete로 삭제도 가능
#7.2 QuerySets
- querysets: 연산자를 함께 묶어주는 일
- querysets를 이용해서 filter를 이중으로 쓸 수 있삼
- like this~ exlcude는 제외시키는 거임
- 근데 이건 비효율적인 것임
- 이렇게 하면 더 간단하다.
- count도 쓸 수 있다
#7.3 Admin Methods
- icontains: 대소문자 구분 안 함
- startwith,endwith,istartwith,iendwith……
- range,date,year,,,등등
- 언더바는
포함하다,,보다 작다.등등..
#7.4 ForeignKey Filter
- reverse accesors : 외래키를 이용해 필터링, ORM에서 핵심
- reverse는 user가 가리키고 있는 모델을 다 찾기 위함
- 언더바 두번을 통해, 외래키에 접근할 수 있음
#7.5 Reverse Accessors
- dir()모든 정보를 알려줌
#7.6 related_name
- 모델 a가 모델 b에 외래키를 가지고 있을 때 모델 b는 자동으로 모델A_set을 가짐
#7.7 Recap
'Backend > Django' 카테고리의 다른 글
[백엔드][장고][Django] Chapter #9 (0) | 2023.07.17 |
---|---|
[백엔드][장고][Django] Chapter #8 (0) | 2023.07.17 |
[백엔드][장고][Django] Chapter #6 (0) | 2023.07.15 |
[백엔드][장고][Django] Chapter #5 (0) | 2023.07.13 |
[백엔드][장고][Django] Chapter #4 (0) | 2023.07.13 |
Uploaded by Notion2Tistory v1.1.0