[Django] Extra
extra()extra(select=None, where=None, params=None, tables=None, order_by=None, select_params=None) 장고에서는 복잡한 WHERE 절을 표현하기가 쉽지 않은 경우가 있다. 이러한 경우에 extra() 를 사용하면 된다. 하지만 장고 문서 사이트에서는 QuerySet으로 표현이 안되는 최후의 경우에만 사용하는 것을 권고하는 것 같다.정의에 의하면, extra lookups를 사용하면 다른 데이터베이스 엔진으로 변경될 때 SQL 코드가 명시적으로 작성된 것이 아니기 때문에 이동할 수 없을지도 모르고, DRH principle을 위반한다. 그래서 가능하면 extra() 사용을 피해야 한다.params, select, where, tab..
2016. 10. 6.
[Django] Filter vs Exclude
Exclude Posts.objects.exclude(date__month=3) 조건에 속하지 않은 값을 조회IS NOT, NOT IN Filter Posts.objects.filter(date__month__in=[1,2,4,5,6,7,8,9,10,11,12]) 조건에 속하는 값을 조회IS, IN
2016. 10. 4.