django,orm,or,q-object
1. 왜.
- django에서 orm을 사용하다 or 연산이 필요하게 되었다.
2. 그래서 무엇인가.
- 기본 orm에서는 filter를 이용해 where절을 나타내곤한다.
- filter(state=attend,user_id=1) 과 같이 and 연산은 ,(comma)로 이루어지지만, or 연산은 명시적으로 쉽게 쓸 방도가 보이지 않았다.
- 문서를 보니 or 연산을 할 수 있는 Q object가 존재하였다.
3. 써보자.
import
- q object를 통해 or 연산을 하려면 Q를 import하여야 한다.
- 한 눈에 봐도 이해될정도로 간단하고 잘 만들어놓았다.
4.마치며
- 사실 or를 어떻게 쓰지? 를 고민하다가 q object를 알게된것인데.. 실제 다양한 쿼리들을 쉽게 사용할 수 있다는 것을 깨달아서 너무 좋았다!
Ref.