본문 바로가기
관리자

분류 전체보기

(963)
[비공개] Weekly Report - 22/08/15~22/08/21, 785일차 보호되어 있는 글입니다.
Django REST framework 공식문서: 1. Serializer - view와 serializer관계, 전달 정보 : Data, create/update, save DRF 공식문서 스터디 기록. 일반적이고 기본적인 내용은 생략하고, 새롭게 배운 내용과 실무에서 쓰일만한 내용 위주로 공부한다. DRF 공식문서의 API Guide 부분을 참고했다. https://www.django-rest-framework.org/ Serializer의 역할 Serialize를 한다는 것은 일반적으로는 특정 언어에서 사용하는 객체를 바이트 또는 스트림으로 변환한다는 것이다. Django 에서는 Django가 다룰 수 있는 객체를 외부에서 받는 JSON 등의 데이터 형태로 변환한다는 것을 의미한다. Deserialize는 그와 반대 개념이다. 요청 JSON 등의 데이터 -> Deserialize -> Django 객체(DB 저장)-> Serialize -> 응답 JSON 등의 데이터 ..
[TIL] Django soft delete cascade (SafeDeleteModel), deleted null 아닌 항목만 찾기 soft Delete 연관관계가 있는 모델끼리는 SafeDeleteModel을 상속받고, Cascade 옵션이 적용되어 있다면 soft delete도 cascade 된다.SafeDeleteModel의 soft_delete_cascade_policy_action() 메서드를 사용하는 경우 적용된다. Post : RelatePost = 1 : N인 관계가 있고, RelatePost에서 post를 FK로 갖고 있을 때, 아래와 같이 SafeDeleteModel을 상속받고 FK로 CASCADE 옵션이 지정된 상황이라고 가정한다. class RelatePost(SafeDeleteModel): post = ForeignKey( Post, on_delete=CASCADE, related_name="relate_pos..
[비공개] Weekly Report - 22/08/08~22/08/14, 778일차 보호되어 있는 글입니다.
[TIL] Django bulk_update 방법과 주의사항 Django bulk update는 인자값으로 fields를 주어야한다. 모델의 어떤 필드를 업데이트할 것인지 직접 지정해줘야하는 것이다. 아래 코드에서 some_models =[] 에는 필드값이 업데이트된 Some_Model의 QuerySet 객체가 들어있다고 보면 된다. Some_Model.objects.bulk_update( some_models, batch_size=3000, fields=["status", "result"], ) 자바-스프링 계열은 JPA가 dirty checking을 알아서 해줬었는데.. 아쉽다 ㅠㅠ bulk_create, bulk_insert 시 주의할점 serializer에서 제공하는 validate가 먹히지 않을 수 있기 때문에 def validate_xxx 로 입력값에 ..
[비공개] Weekly Report - 22/08/01~22/08/07, 771일차 보호되어 있는 글입니다.
OpenAPI 명세, Swagger 기본 개념 : Django restframework, drf-spectacular로 swagger split OpenAPI 명세 개념 개요 여기서 말하는 것은 Open API가 아니라 붙여쓰는 OpenAPI이다. 참조 1에 따르면 Open API는 말 그대로 개방된 API로 날씨, 주소 정보 등 공개된 API를 의미한다. OpenAPI는 Restful API의 명세(Spec)를 규칙에 맞게 json이나 yaml로 표현하는 방식을 말한다. https://jojoldu.tistory.com/31 규칙: JSON, YAML로 표현 규칙에 맞게라고 했는데, 어떤 규칙을 가질까? 우선 json과 yaml 파일 형식에 대한 것은 대부분의 개발자가 알고 있으리라 생각된다. 그냥 어떤 정보를 표현하는 양식이라고 생각하면 된다. 아래 그림을 참고하자. 참조 2.https://levelup.gitconnected.com/yaml..
[비공개] Weekly Report - 22/07/25~22/07/30, 764일차 보호되어 있는 글입니다.