[Django] Database API

Jin·2021년 9월 1일
0

django

목록 보기
4/14
post-thumbnail

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
내가 다시 볼려고 작성하는 블로그. 아직 열심히 공부중입니다 잘못된 내용이 있으면 댓글로 지적 부탁드립니다.

0개의 댓글