[코딩공부] 37일차(4/27)

성철민·2023년 4월 27일
0

배움

목록 보기
38/42

내일배움캠프

Django REST framework

개인과제인 todolist 만들기의 백엔드 부분은 완료했다
다만 코멘트 기능이나 좋아요 기능 등을 추가로 구현하고 프론트엔드쪽도 구현해보고 싶어서 공부중이다.

    def update(self, instance, validated_data):
        instance.title = validated_data.get('title', instance.title)
        instance.content = validated_data.get('content', instance.content)
        instance.image = validated_data.get('image', instance.image)
        instance.is_complete = validated_data.get('is_complete', instance.is_complete)
        
        try:
            if validated_data['is_complete'] is True:
                    instance.completion_at = timezone.now()
        except KeyError:
            pass
        
        instance.save()
        return instance

todolist의 serializer를 구현할 때 완료에 체크를 하고 submit을 하면 그 완료시간을 자동으로 저장하고 싶어서 위와 같은 코드로 구현했다.
validated_data중에 is_complete가 True값으로 왔다면 수정할 instance의 completion_at에 django.utils의 timezone.now()를 적용해서 현재 시간을 저장하는 것이다.
다만 이대로 끝내면 is_complete 값이 아예 없을 경우 에러가 발생하므로 try~except구문으로 구현했다.

프로그래머스 코딩테스트

2900위 -> 2250위
내 목표는 TOP100

Think

개인과제인 DRF로 todolist만들기는 CRUD를 만드는 것으로 마무리 지었다.
조금 더 욕심이 생겨서 react를 공부하고 있다.
주말까지 공부해서 어설프게나마 프론트엔드 쪽도 구현하고자 한다.

profile
developer

0개의 댓글