Django Queryset Filter
Not Null 필터
- null인 object만: 모델명.objects.filter(필드명__isnull=True)
- null인 object 제외: 모델명.objects.exclude(필드명__isnull=True)
- null이거나 빈 문자열인 object 제외
- 모델명.objects.exclude(필드명__isnull=True).exclude(필드명__exact='')
- django.db.models.Q: OR 연산 가능하게 해 줌
→ 모델명.objects.exclude(Q(필드명__isnull=True) | Q(필드명__exact='')
- https://stackoverflow.com/questions/844556/how-to-filter-empty-or-null-names-in-a-queryset
OR 연산
- Q 오브젝트를 사용하면 OR 연산 가능
- https://stackoverflow.com/questions/739776/how-do-i-do-an-or-filter-in-a-django-query
from django.db.models import Q
모델명.objects.filter(Q(조건1)|Q(조건2))
Datetime Filter
- 필드명 뒤에 원하는 필터 종류 붙임
- __range: 기간 설정(양 끝점 포함)
- __gt, __gte: 해당 일시 이후(기준 시점 미포함/포함)
- __lt, __lte: 해당 일시 이전(기준 시점 미포함/포함)
- Python datettime 모듈
- datetime.date: 날짜만
- datetime.datetime: 날짜 & 시간
- timedelta: 시간 차이, +/- 연산 가능
- 사용 가능한 단위: days, seconds, microseconds, milliseconds, minutes, hours, weeks
- https://docs.python.org/ko/3/library/datetime.html#
- relativedelta
- dateutil.relativedelta에서 import 가능
- datetime.timedelta에는 없는 month, year 등의 단위 사용 가능
- https://jaeyung1001.tistory.com/108https://dateutil.readthedocs.io/en/stable/relativedelta.htmlhttps://dateutil.readthedocs.io/en/stable/relativedelta.html
- https://stackoverflow.com/questions/4668619/how-do-i-filter-query-objects-by-date-range-in-django
- https://stackoverflow.com/questions/1317714/how-can-i-filter-a-date-of-a-datetimefield-in-django
기타
Django request.GET 검색시 MultiValueDictKeyError
- QueryDict에 해당하는 키 값이 없을 때 발생하는 에러
- request.GET에서 키 값을 바로 부르는 대신 request.GET.get() 메서드를 이용하여 에러를 방지할 수 있음
- https://windybay.net/post/39/
Git 커밋메세지 제목, 내용 구분하여 입력하는 방법
- 터미널에서 바로 입력할 때: -m 두 번 사용
ex) git commit -m '제목' -m '내용' - vi 등의 텍스트 에디터에서 입력할 때: 제목과 내용 사이에 한 줄 공백 두면 자동으로 인식
- https://stackoverflow.com/questions/45376514/how-to-separate-title-from-body-in-a-git-commit-message-using-notepad
'인코스런 2기' 카테고리의 다른 글
커머스 프로젝트 7주차 WIL + 인코스런 수료 소감 (0) | 2022.07.31 |
---|---|
커머스 프로젝트 4주차 WIL (0) | 2022.07.10 |
커머스 프로젝트 3주차 WIL (0) | 2022.07.03 |
Day4 - 장고 온보딩 프로젝트 4 (0) | 2022.06.10 |
Day3 - 장고 온보딩 프로젝트 3 (0) | 2022.06.09 |