2011-10-27 2 views
5

쿼리 세트를 검사하고 적용된 필터/제외에 대한 정보를 얻을 수있는 방법이 있습니까?Django : 적용된 필터를 얻기 위해 쿼리 세트 검사

나는 디버깅을 위해 필요 내의 검색어가 일부 데이터를 제외 왜 이해할 수 없다 ...

+3

'QuerySet.query' 메소드를 사용하여 SQL이 어떻게 보이는지 확인할 수 있습니다. 도움이 될지도 몰라. –

답변

6

쉽게 할 것 같지 않습니다. 각 필터는 쿼리 개체와 다르게 적용되므로 "filter1", "filter2", "filter3"을 깔끔하게 배치하지 못할 수 있습니다.

체크 아웃 myqueryset.query.__dict__ - 들어오는 필터는 관련 영역으로 즉시 분리되며 레코드가 저장되지 않습니다. django.db.models.sql.query.Query의 세부 정보

대신 SQL을 확인해 보겠습니다.

print myqueryset.query 
2

당신이 쉘에서 디버깅하는 경우 :

from django.db import connection 
print connection.queries 

당신은 브라우저 사용 요청을하는 경우 장고 디버그 도구 모음, 그것은 훌륭한 도구가 매우 도움이 될 수 있습니다 :

Django Debug Toolbar