[Django] Database API

Jin·2021년 9월 1일
0

django

목록 보기
4/14
post-thumbnail
post-custom-banner

DB API

  • DB를 조작 하기 위한 도구
  • django가 기본적으로 ORM을 제공함에 따른것으로 DB를 편하게 조작하도록 도움
  • Model을 만들면 django는 객체들을 만들고 읽고 수정, 지울수 있는 database-abstract API를 자동으로 만듬.
  • database-access API라고도 함

1. Making Queries

Queries : 명령문 명령어
아래는 모든 게시글을 조회하는 명령문

1) Manager

  • django 모델에 데이터베이스 query 작업이 제공되는 인터페이스
  • 기본적으로 모든 django 모델 클래스에 objects라는 Manager를 추가

2) QuerySet

  • DB로부터 전달받은 객체 목록
  • quertset 안 객체는 0,1 혹은 여러 개일 수 있다.
  • DB로 부터 조회, 필터, 정렬 등 수행 가능

2. CRUD

대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능
Creae Read Update Delete

1) Create 방법

a) 특정 테이블에 새로운 행을 추가하여 데이터 추가

b) 두번째 방법

c) 세번째 방법 - 쿼리 표현식 리턴

1-1) create 관련 method

2) Read

2-1) Read 관련 method

get() - PK를 조회할때 사용

  • 주어진 lookup 매개변수와 일치하는 객체를 반환
  • 객체를 찾을 수 없으면 DoesNotExist 예외 발생, 둘 이상의 객체를 찾으면 MultipleObjectReturned 예외 발생 시킴
  • 위와 같은 특징 때문에 primary key와 같이 고유성을 보장하는 조회에서 사용해야 함.

filter()

  • 주어진 lookup 매개변수와 일치하는 객체를 포함하는 새 QuerySet을 반환
  • 일치하는게 없으면 빈 QuerySet을 반환(오류발생 X)

3) Updtae

4) Delete

delte()

  • QuerySet의 모든 행에 대해 SQL 삭제 쿼리를 수행.
  • 삭제된 객체 수와 유형당 삭제 수가 포함된 딕셔너리를 반환.
  • Django에서는 기본적으로 삭제된 것을 재사용하지 않는다.
    (1번을 삭제한후에 새로운걸 create 해도 1번이 아닌 기존에 존재하는 pk의 마지막 번호 다음 번호로 생성됨)
profile
내가 다시 볼려고 작성하는 블로그
post-custom-banner

0개의 댓글