본문 바로가기
App Programming/Django

[Django] 기본 요소 (1)

by goatlab 2023. 2. 20.
728x90
반응형
SMALL

모델

 

장고는 모델 (Model)을 이용하여 데이터베이스를 처리한다. 보통 데이터베이스에 데이터를 저장하고 조회하기 위해서 SQL 쿼리문을 이용해야 하지만 장고의 모델 (Model)을 사용하면 이런 SQL 쿼리문의 도움없이 데이터를 쉽게 처리할 수 있다.

 

모델 데이터베이스 테이블
필드 데이터베이스 속성

 

매니저

 

Manager는 Django Model에 제공되는 데이터베이스 쿼리 인터페이스이다. 모든 Model은 하나 이상의 Manager를 가지게 된다. 데이터베이스 관련 동작을 정의한다.

 

https://medium.com/@jvdali966/understanding-djangos-work-flow-1ee521422092

 

장고는 웹 요청 urls.py view 모델 데이터베이스의 데이터 흐름을 가지고 있다.

 

Django REST Framework (DRF)

 

Django의 REST API를 위한 프레임워크이다.

 

요청 (Request)
  • request.data
    • request.POST
    • request.FILES
  • request.query_params
  • request.user
  • request.auth
응답 (Response)
  • response.data
  • response.status

 

serializer

 

객체를 JSON의 형태로 변환하거나 JSON으로 객체를 반환하게 해준다. ModelSerializer는 모델로 시리얼라이저를 생성할 수 있게 해준다. Meta 클래스는 다음을 정의할 수 있다.

 

  • model
  • fields
  • list_serializer_class
객체로 시리얼라이저 생성
  • 객체를 사전 (JSON)의 형태로 변환한다.
  • to_representation 메서드는 객체를 data에 직렬화한다.
  • 여러 개의 객체일 때, many 매개변수가 True를 전달하고 만약, Meta 클래스에 list_serializer_class가 정의되어 있다면 해당 시리얼라이저를 사용한다.
데이터로 시리얼라이저 생성
  • to_internal_value : 데이터를 validated_data 생성
  • is_valid : error와 validated data 사용 가능
  • save시 create 메서드에 validated_data를 전달 (save시 validated_data에 데이터 추가 가능) 
객체와 데이터로
시리얼라이저 생성
  • to_internal_value : 데이터를 validated_data 생성
  • is_valid : error와 validated data 사용 가능
  • save시 create 메서드에 validated_data를 전달 (save시 validated_data에 데이터 추가 가능) 
  • 시리얼라이저 생성시 partial 매개 변수는 부분 업데이트를 의미
728x90
반응형
LIST

'App Programming > Django' 카테고리의 다른 글

[Django] 프로젝트 생성  (0) 2023.02.20
[Django] 기본 요소 (2)  (0) 2023.02.20
[Django] Search (검색 기능)  (0) 2023.02.17
[Django] CRUD  (0) 2023.02.17
[Django] Admin (Room)  (0) 2023.02.17