2012-02-15 2 views
1

쿼리 세트를 주문한 다음 정렬 된 세트를 필터링하려고합니다. 이게 효과가 있니? 아니면 order_by가 체인의 마지막 작업인지 확인해야합니까? 예장고 쿼리 세트 작업 순서

qs.order_by(books_count).filter(author="bob") 

이 동일하다?

qs.filter(author="bob").order_by(books_count) 

나는 두 결과가 같지 않습니다.

+3

어떤 결과가 나타 납니까? 확실하지는 않지만 주문 후에 필터링하면 기본 주문이 다시 적용됩니다. –

+0

첫 번째 쿼리 세트에 qs.ordered를 적용하고 주문이 우선적으로 적용되는지 확인할 수 있습니다 (https://docs.djangoproject.com/). – Jingo

+3

방금 ​​전후에 'order_by'로 테스트를했는데 둘 다 동일한 SQL과 동일한 결과를 산출했습니다. 어떤 문제. 'books_count'는 실제 변수인가 아니면 그냥 인용 부호가 빠져 있습니까? –

답변

0

주 - 위의 설명에 따라 필터를 적용한 순서 (filter, order_by)는 중요하지 않습니다.