TIL #45 Django - filter (dictionary)
2차 프로젝트 진행 시 Q 객체가 아닌 dictionary을 이용해 필터를 구현 보았다.
1. filter factor
- 각 각의 filter factor는 querystring으로 받는다.
- 중복 된 값이 올 수 있는 것 들은 getlist을 통해 list 형태로 받는다.
2. filer dcode
- dictionary 구조
- key : filter 의 attribute
- value : filer의 factor
- filer의 factor가 None인 경우
- factor가 None이면 filter가 제대로 작동하 지 않기 때문에 dictionary comprehension과 if으로 None인 경우 제외
3. 객체에 적용
- 객체.objects.filter(**kwargs)
- .filer의 값을 위의 만들어 두었던 dictionary를 keyword arguments 형태로 넣어줌