관련 포스팅 

 - django admin site - list display : http://ngee.tistory.com/853




장고(django)에서 제공되는 Admin site는 쓸모가 많습니다 :)

이번 포스팅에서는 boolean filter를 적용하는 방법에 대해서 정리해둡니다.


제가 사용하고 있는 django 버전은 1.9.5 입니다. 


1. 아래 화면은 Filter를 하나 추가한 화면입니다. 

   필터의 종류는 BooleanFieldListFilter 이고요. 여러 컬럼 중에 ea_status 라는 컬럼을 활용한 것입니다.

   

    기본적인 django admin site에 접속하면 filter는 하나도 존재하지 않습니다. 

    필터를 추가함으로써 많은 객체 중에서 원하는 객체를 쉽고 빠르게 찾을 수 있으니깐 

    객체가 많아지면 적당히 추가하는 것이 좋다고 생각됩니다 :)



2. BooleanFieldListFilter 를 추가하기 위해서는 

   적어도 하나의 BooleanField가 하나 필요하겠죠. 저는 ea_status라는 녀석을 추가해줬습니다. 


   #models.py에 위치하겠죠 ? :)

       et_status = models.BooleanField(default=False)


   요 녀석은 어떤 프로세스에 의해서 True로 변경되는데요. 아무튼 그렇습니다. 


   위에서 설정한 et_status에 대한 BooleanFieldListFilter 추가는 admin.py에 이뤄집니다.


class TestAdmin(admin.ModelAdmin):

  list_display = ('column_name1', 'column_name2', 'column_name3', ..... ,'et_status')

  list_filter = (

        ('et_status', admin.BooleanFieldListFilter),

  )


  list_filter를 추가해주시면 되구요. 정상적으로 추가되면 아래와 같이 admin site에 오른쪽 끝에 FILTER가 추가됩니다. 

   


  위 그림에서 Yes를 누르면 et_status의 상태가 True인 것만 출력됩니다. 아래 그림에서처럼요.



+ Recent posts