IT-HONGREAT / django_food_project

꾸준히 공부하며 진행하는 사이드 프로젝트입니다.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 반환

필드 조건 옵션에 대한 공식문서

End issue.