본문 바로가기
728x90

전체 글172

Django formset, is_valid 란 무엇인가? 이 글은 formset, is_valid 에 대한 공부 및 정리 목적으로 쓰는 글이다. 1. formset 이란 무엇인가? 여러개의 폼을 한번에 처리 하는데 사용 된다. Formset은 동일한 폼 클래스를 사용하여 여러 개의 인스턴스를 생성하고, 이 들을 한번에 처리하고 저장 하도록 도와준다. ex) 여러개의 댓글을 동시에 작성 하거나, 한번에 여러개의 파일을 업로드 할 경, Formset를 이용 하면 된다. # forms.py from django import forms from django.forms import formset_factory from .models import Comment class CommentForm(forms.ModelForm): class Meta: model = Commen.. 2023. 4. 22.
Not json serializable 오류 해결 방법 이 글의 목적은 트러블 슈팅 기록용 이다. django orm으로 필터링 중 발생 하였고 그 이유 와 해결 방법에 대해 작성 하고자 한다. 1. 원인: Mymodel.objects.filter(**filter_condition) 이 부분에서 Not json serializable 오류 발생 하였다. filter_condition 컨디션 코드는 예를 들면, filter_condition = {필드명__range('2023-04-18', '2023-04-19')} 이렇게 지정 하였다. 2. 이유 filter_condition은 JSON 직렬화 가 가능한 객체 가 아니기 때문에 발생 한다. 따라서, filter() 메소드에 사용되는 인자를 JSON으로 직렬화할 수 있는 방법은 존재하지 않는다. 만약 필터링된 .. 2023. 4. 19.
Django 에서 date 객체 활용 하기 오늘은 파이썬 에서 과연 현재 날짜가 몇 주차 인지 궁금 해져서 조사 하게 되었고 이번 정리는 Django에서 날짜 객체로 필터링 하는 방식에 대해 정리 해보고자 한다. 임의의 모델은 MyModel로 작명 하겠습니다. 1. 'date':주어진 날짜 와 일치 하는 데이터를 가져 오기 MyModel.objects.filter(date=date(2023, 4, 18)) 2. 'year':해당 연도와 일치 하는 데이터를 가져 오기 MyModel.objects.filter(date__year=2023) 3. 'month': 해당 월과 일치 하는 데이터를 가져 오기 MyModel.objects.filter(date__month=4) 4.'day': 해당 날짜와 일치 하는 데이터를 가져 오기 MyModel.objec.. 2023. 4. 18.
백준 1848번 동굴 탐험 문제설명 월드산의 하부에는 동굴로 들어가는 입구가 있는데, 동굴은 터널을 통해 서로 연결되어 있는 여러 개의 작은 방들로 구성되어 있다. 동굴 입구는 탐험의 시작점이 되는 방 (이하 시작방)으로 곧장 연결되어 있다. 각 방을 연결하는 터널은 서로 교차하지 않으며, 두 개의 방을 연결하는 터널은 많아 봐야 하나이다. "원쌤배 동굴 탐험 대회"가 개최될 예정이다. 대회의 목표는 시작방에서 출발하여 동굴 내부를 달려, 다시 시작방으로 되돌아 와 빠져 나오는 것인데, 그 경로는 참가자가 마음대로 정할 수 있지만 두 가지 조건을 지켜야 한다. 첫째 조건은, 시작방 이외의 방을 최소한 하나는 거쳐야 한다는 것이며, 둘째 조건은, 어떤 방과 터널도 최대 한 번밖에 방문할 수 없다는 것이다. (시작방은 물론 두 번 방.. 2023. 4. 15.
딕셔너리에서 value 와 key 활용하여 정렬 하기 딕셔너리는 순서가 없는 자료형이다(불변형 이라는 것을 꼭 알고 있어야 한다.) 하지만 딕셔너리를 정렬 하고 싶을때는 항상 존재 할 것이다. 우선적으로 정렬 하는 방식을 정리 하고자 한다. 1. Key로 정렬 하기 my_dict = {'apple': 10, 'banana': 5, 'cherry': 20} # Key를 기준으로 오름차순으로 정렬 sorted_dict = dict(sorted(my_dict.items())) print(sorted_dict) # 출력: {'apple': 10, 'banana': 5, 'cherry': 20} # Key를 기준으로 내림차순으로 정렬 sorted_dict = dict(sorted(my_dict.items(), reverse=True)) print(sorted_dic.. 2023. 4. 15.
프로그래머스 달리기 경주 달리기 경주 1. 문제 설명 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가 매개변수로 주어질 때, 경주가 끝났을 때 선수들의 이름을 1등부터 등수 순서대로 배열에 담아 return 하는 solution 함수를 .. 2023. 4. 15.
728x90