훈훈훈

파이썬(Django) : QuerySet(쿼리셋) 이란 ? 본문

파이썬/Django

파이썬(Django) : QuerySet(쿼리셋) 이란 ?

훈훈훈 2020. 2. 6. 09:59

# 쿼리셋(QuerySet) ??

QuerySet 이란 데이터베이스에서 전달 받은 객체의 목록이다. (Django ORM에서 발생한 자료형)

리스트와 구조는 같지만 파이썬 기본 자료구조가 아니기 때문에 파이썬에서 읽고 쓰기 위해 자료형 변환(Casting)을 해줘야한다.

 

이제 아래와 같은 코드로 확인해보자.

위 코드는 request 요청으로 "name" 과 "password"를 전달받아 Json 형태로 반환해주는 코드이다.

필요한 모듈들은 Import 한 후 파이썬 쉘에서 확인해보자. ($ python manage.py shell)

 

현재 데이터베이스에 쌓인 값이 없기 때문에 [모델클래스].objects.create( )에 임의의 값을 저장하였다. 

[ 모델클래스.objects.create( ) ]

  

값을 저장 후 [모델클래스].objects.all( )[모델클래스].objects.values( ) 두 값 모두 확인해 보았다.

[ 모델클래스.objects.all( )]

[모델클래스].objects.all( ) 확인 시 저장된 object의 인덱스 값들이 저장되는 것을 확인할 수 있다. 

 

[ 모델클래스.objects.values( ) ]

[모델클래스].objects.values( ) 확인 시 [{'id' : value, "name" : value, "password" : value}, ...] 와 같은 형식으로 저장되는 것을 알 수 있다. 즉, 파이썬의 자료구조인 리스트와 같은 것을 알 수 있다.

 

파이썬에서 읽고 쓰기 위해서 다음과 같이 형변환을 시켜주자

type이 QuerySet -> list로 변환 것을 알 수 있다.

 

 

 

 

 

Comments