Django QuerySet manager objects Filter, All , Value

Django QuerySet manager objects Filter, All , Value

Django에는 QuerySet 기능을 지원한다.

SQL문을 자동으로 생성해주는 모델링 부터

쿼리 검색과 CRUD기능을 지원하고 있다.

Objects는 쿼리셋을 위한 인스턴스 매니저다.

Objects를 사용해서 쿼리를 생성하고,

필터링, 값을 얻어올 수도 있다.

1. Class.Objects.values()

기본값 : 리스트[딕셔너리]

.values()는 쿼리셋값을 딕셔너리로 가져온다.

기본적으로 QuerySet()이 리스트 형식이기

때문에, 리스트 안에 딕셔너리가 담긴 형태로

값을 반환한다.

출력값은 QuerySet[{'key':'value'},{'key':'value'}]

형태로 출력한다.

<입력값>

<출력값>

2. Class.objects.values_list()

3. Class.objects.get(id=1)

get() 함수는 딕셔너리의 한가지 요소를 반환한다.

객체가 하나만 반환되기 때문에, dot notations으로

해당 value에 접근이 가능하다.

해당 조건에 해당하는 value를 찾지 못하는 경우

DoesNotExist Exception을 반환한다.

여러개의 value가 반환되면

MulipleObjectsReturned Exception을 반환한다.

<입력값>

<출력값>

새로운 쿼리를 생성하고,

id를 조건값으로 get()을 실행하면,

Class object(id값)을 반환하고 있다.

반환값의 type을 확인해보니

objet형태로 반환하고 있다.

개별값을 조회하면 다음 결과를

얻을 수 있다.

4. Class.objects.filter()

filter() 함수는 조건값에 따라서 query를 검색한다.

결과는 리스트로 반환한다.

특정 값에 접근하기 위해서는

[index] 형태로 접근이 가능하다.

<입력값>

<출력값>

5. Class.objects.all()

all() 함수는 데이터베이스내 존재하는

모든 쿼리를 가져온다.

결과값은 list로 가져오게 되어있다.

따라서 특정값에 접근하기 위해서는

list 형식으로 값을 가져오 올 수 있다.

<입력값>

<출력값>

from http://incomeplus.tistory.com/180 by ccl(A) rewrite - 2021-10-12 12:27:22