순열/조합 문제에서 itertools를 쓸 때 from itertools import combinations처럼 쓸 것만 import하는게 가볍다.
오늘의 재귀 함수
def solution(n, a, b):
함수 빠져나올 조건: return 리턴값
if n < a : return 0
return 동작/연산 solution(동작/연산)
return b + solution(n-a+b, a, b)
---> solution(20, 3, 1)
= 1 + solution(20-3+1, 3, 1)
= 1 + solution(18, 3, 1)
= 1 + (1 + solution(16, 3, 1))
= 2 + solution(16, 3, 1)
= 3 + solution(14, 3, 1)
.
.
.
= 8 + solution(4, 3, 1)
= 8 + (1 + solution(2, 3, 1))
= 9 + solution(2, 3, 1)
= 9 + 0
= 9
문
개인과제의 update 부분에서 내용이 수정되는걸 확인하고 제출했는데 있던 내용을 없애니까 에러가 나는 걸 발견했다.
admin/ 페이지에서는 되고 포스트맨에서만 안된다.
시해
이것저것 수정해봤는데 User에서 PositiveIntegerField로 모델링한 age, Todo에서 DateTimeField로 설정한 completion_at을 포스트맨에서 수정할 때 ""로 요청 보내면 유효하지 않다고 에러가 뜬다.
TextField인 introduction과 CharField gender는 에러가 안나고 ""으로 된다.
- models.py에서 null=True, blank=True, default=""를 이리저리 바꿔봤지만 안됐다.
- serializers.py에서 create를 override해봤지만 안됐다.
- 과제 해설 강의를 다시 보다가 decomplete을 obj.completion_at = None 이렇게 만들면 된다는 부분을 봤다.
---> 포스트맨에서 요청을 보낼 때 db.sqlite3에 나오는대로 null로 보내봤다.
알
필드에서 null=True, blank=True를 써줬어도 포스트맨에서는 ""이 안되면 null을 보내야한다.
IntegerField에서 blank=True는 소용이 없다. blank("")는 문자. integer가 아니다.
default=""도 ""가 문자니까 안되는게 맞다. IntegerField라면 default=0 이런 식으로 해줘야한다.
DateTimeField도 마찬가지!
is_completed 여부에 따라 completed_at 기록했다가 없앴다가 하게 만들기 완료!
'TIL' 카테고리의 다른 글
TIL 050423 (0) | 2023.05.04 |
---|---|
TIL 050323 (0) | 2023.05.03 |
TIL 050123 (0) | 2023.05.01 |
TIL 042823 (0) | 2023.04.28 |
TIL 042723 (0) | 2023.04.27 |