Django Model API 정리
IT-HONGREAT opened this issue · comments
ORM을 통해 데이터베이스와 소통할 수 있는 API
objects 를 쓰다보니's'가 뒤에 붙었는지? 계속 헷갈려서.. 생각 정리 좀 해두려고 기록한다.
(구글링과 공식문서를 서칭하다가, orm 을 정리해둔 해외페이지를 발견. 매우 좋은 문서라고 생각한다.)
https://django-orm-cookbook-ko.readthedocs.io/en/latest/asc_or_desc.html
Queryset == Django Model 의 데이터가 담겨있는 목록 파이썬의 리스트와 비슷한 형태
Queryset 반환
-
all() - 해당 모델 테이블의 모든 데이터 조회
{model클래스명}.objects.all()
-
filter() - 특정 조건에 맞는 모든 데이터 조회
{model클래스명}.objects.filter(content_contains='포함하는것')
-
exclude() - 특정 조건을 제외한 모든 데이터 조회
{model클래스명}.objects.exclude(title_contains='포함하는것')
-
order_by() - 특정 조건으로 정렬된 데이터 조회
https://django-orm-cookbook-ko.readthedocs.io/en/latest/asc_or_desc.html {model클래스명}.objects.order_by('정렬기준')
-
values() - Queryset 에 있는 모든 모델 데이터의 정보를 사전형으로 갖는 리스트로 반환
{model클래스명}.objects.all().values()
하나씩 반환
- get() - 조건에 맞는 하나의 데이터 조회
- create() - 하나의 데이터 생성, 모델 반환
- get_or_create() - 조건에 맞는 데이터를 조회, 해당 데이터가 없다면 새로 생성 후 모델 반환
- latest() - 주어진 필드 기준으로 가장 최신의 모델 데이터를 반환
- first() - 가장 첫 모델 데이터를 반환, 없다면 None 반환
- last() - 연산된 쿼리셋의 가장 마지막 모델 데이터를 반환, 없다면 None 반환
필드 조건 옵션에 대한 공식문서
- 외우면 좋겠지만, 필요한 것을 그때그때 찾아보는게 더 좋을 것 같네..^^
https://docs.djangoproject.com/en/2.2/ref/models/querysets/#field-lookups
End issue.