본문 바로가기

django6

[Django] refresh_from_db() : 메모리 상의 Django 객체와 데이터베이스 동기화하기 refresh_from_db() 를 이용해 데이터를 동기화 시키는 방법을 알아보고자 한다. 어떤 비즈니스 로직과 그에 대한 트랜잭션이 있다. 비즈니스 로직은 반드시 필요한 것이고 그 뒤에 데이터 값 변경이 보장되어야한다. refresh_from_db()란 refresh_from_db() 는 Django의 Model 클래스에서 제공하는 Django 근본 메서드 라고 할수있겠다. 메모리에 로드된 모델 인스턴스의 필드 값과 데이터베이스의 값은 다를 수 있다는 것을 알아야한다. 실제 코드로 보는 예시 @action(methods=["PUT"], detail=True, serializer_class=ProjectSerializer, permission_classes=[]) def restart(self, requ.. 2023. 10. 6.
[DRF 게시판만들기] #4 GenericAPIView & Urls 목차 1. View 역할 2. View 3. GenericAPIView 4. Url 5. 게시글 확인 View 역할 게시판을 만들기 위해서 지금까지 했던 것들을 간단하게 정리하겠습니다. 먼저 모델을 만들고 데이터와 속성을 어떻게 db에 적용할 것인지 정했습니다. 그리고 그 데이터들을 사용하기 위한 직렬화를 위해 serializer를 사용했습니다. 이제 데이터 활용에 대한 기능이 필요합니다. CRUD에 따라서 데이터를 생성하고, 읽고, 수정하고, 삭제하는 등의 기본액션부터 다양하고 심화된 개발을 도와주는 것이 View 입니다. 이런 View에는 html을 render하는 django 의 기본View부터 API생성을 위한 APIView 그리고 CRUD의 집합체인 ViewSet 등 다양하게 있습니다. 이번 포.. 2022. 3. 29.
[DRF 게시판만들기] #3 Serializer, ModelSerializer 개념 및 역할 목차 1. Serializer 2. ModelSerializer 3. Serializer 의 필요성과 역할 Serializer 먼저 게시판앱 "board" 에 "serializers.py"를 생성합니다. django와 프레임워크 설치시 자동으로 생성되지 않습니다. 다른 app도 마찬가지로 생성합니다. serializers에는 아래처럼 "직렬화"를 위한 코드들이 작성됩니다. 우선, 코드를 통해 어떻게 작성되는지 살펴보면 역할에 대해서 알게 될 것 입니다. Serializer는 BaseSerializer를 상속받아서 보편적으로 사용되는 Serializer입니다. 사용할 데이터에 따라서 필드값을 하나씩 지정해줍니다. Charfield가 대부분의 데이터를 받아줄 수 있지만, 가능하면 모델과 타입을 맞춰주는 것이.. 2022. 3. 20.
[DRF 게시판만들기] #2 Setting, Modeling 목차 1. basic Setting 2. Modeling(기본설계) 3. App 생성 4. Model생성 1. basic Setting 저는 m1 mac을 사용중이며 아래와 같은 환경에서 진행했습니다. 간단한 api 생성을 목적으로 하기 때문에 기본적인 프레임워크와 라이브러리만 사용하겠습니다. 파이참(커뮤니티) IDE (파이참을 사용해서 프로젝트에 발생하는 라이브러리와 메소드를 단축키만으로 가볍게 설치 할 수 있는 등의 편리함이 있습니다.) python ver 3.8 pip list 입니다. 터미널에서 아래의 명령어로 설치해줍니다. # pip list pip install django pip install django_extensions pip install djangorestframework djang.. 2022. 3. 6.