갈루아의 반서재

Customize the admin change list

ist_display 옵션을 통해서 보여줄 필드를 아래와 같이 수정할 수 있다.





해당 컬럼의 헤더를 클릭함으로써 정렬 가능 (단, was_published_recently 는 정렬 안됨. 왜냐하면 사용자가 생성한 컬럼의 경우는 지원안됨)


/root/mysite/polls/models.py


list_display 에 대한 더욱 상세한 내용은 아래 링크 참조
https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display 


list_filter 를 이용해서 필터 기능을 넣어보자.

QuestionAdmin 에 아래 줄을 삽입한다.


list_filter = ['pub_date']


/root/mysite/polls/admin.py 


오른쪽에 필터 사이드바가 생성되는 것을 확인할 수 있다. 필터링 되는 필드의 타입에 따라 제공되는 필터도 다르다. 위의 예에서 pub_date 가 DateTimeField 이기 때문에 장고는 적절하게 “Any date,” “Today,” “Past 7 days,” “This month,” “This year.” 와 같은 필터 옵션을 제공하는 것이다.  


그러면 이제 검색 기능을 추가해보자.

필터와 마찬가지로 QuestionAdmin 에 아래 줄을 삽입한다.


search_fields = ['question_text']


/root/mysite/polls/admin.py

위에서 보는 바와 검색창을 화면 상단에 보여주게 된다. 검색어 입력시 장고는 question_text 를 검색하게 된다(LIKE 쿼리를 사용하게 됨). 원한다면 아래와 같이 다른 필드를 추가해도 괜찮다.  


search_fields = ['question_text', 'pub_date']