이 영역을 누르면 첫 페이지로 이동
caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

페이지 맨 위로 올라가기

caputdraconis

네트워크 관점에서의 클라우드 컴퓨팅을 공부하는 중입니다 :)

[Django] DjangoAdmin.SearchFields에 ChoiceField가 필요했어

  • 2022.06.11 19:50
  • 언어&프레임워크/Django
글 작성자: caputdraconis
반응형

Django Admin 페이지에 상품 검색 기능에 Choices Field를 넣고 싶었습니다.
제목으로 검색하고 싶거나,, 작성자 이름으로 검색하거나,
검색 주제를 정하고 검색하는 기능을 바랬습니다.
아래 두개를 합친 결과를 말이죠

하지만
Django Admin에서는 불가능합니다.

 

StackOverflow를 다 뒤져본 결과, 돌아온 답변은
"너는 Django Admin에게 너무 많은 것을 바란다.."

 

시간이 없던 저는 어쩔 수 없이 차선책을 선택했습니다.

상품 제목으로 검색을 하고 싶으면 "title:상품제목"으로
상품 제작자 이메일로 검색을 하고 싶으면 "email:이메일주소"로

 

django admin의 검색창에 검색을 하게 되면, 내부적으로 아래의 함수가 호출됩니다.

get_search_results(self, request, queryset, search_term)

이 함수를 override해서 자기 입맛대로 커스터마이징 할 수 있었습니다!

결과 코드는 아래와 같습니다.

검색하려는 모델의 Admin 클래스 내에 선언해주면 됩니다.

 

위 메소드를 해당 모델의 admin에 작성해주면

title:hoit -> 상품 제목에 hoit을 대소문자 상관없이 포함하고 있다면 이를 검색 결과로!

email:hoit -> 창작자 이메일에 hoit을 대소문자 상관없이 포함하고 있다면 이를 검색 결과로!

hoit -> 상품 제목이나 창작자 이메일 상관없이 hoit을 대소문자 상관없이 포함하고 있다면 이를 검색 결과로!

 

 

 

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Django] admin edit view에 테이블을 추가하고 싶을땐?

    [Django] admin edit view에 테이블을 추가하고 싶을땐?

    2022.07.09
  • [Django] admin에서 list_filter에 넣을 커스텀 필터를 만들 수 있을까?

    [Django] admin에서 list_filter에 넣을 커스텀 필터를 만들 수 있을까?

    2022.07.06
  • [Django] 프로젝트에 toast-ui-editor 적용하기(django admin)

    [Django] 프로젝트에 toast-ui-editor 적용하기(django admin)

    2022.06.10
  • [Django] Django 프로젝트 중 맞닥뜨린 높은 벽들

    [Django] Django 프로젝트 중 맞닥뜨린 높은 벽들

    2022.05.24
다른 글 더 둘러보기

정보

caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

  • caputdraconis의 첫 페이지로 이동

검색

메뉴

    카테고리

    • 분류 전체보기 (168)
      • Cloud (3)
      • Computer Network (12)
      • Database (2)
      • Terraform (2)
      • 🥚고리즘 (13)
      • 겅부겅부🙃 (10)
        • Naver CS50 코칭스터디 (2)
        • Machine Learning (1)
        • Computing System (6)
      • 언어&프레임워크 (20)
        • Python (4)
        • Django (10)
        • Node JS (1)
        • C++ (2)
        • Java (1)
        • Flutter (2)
      • Security (76)
        • WebHacking Study (11)
        • 지옥방 스터디 (22)
        • 여름방학 스터디 (2)
        • PWN Study (6)
        • SUA Reversing Study (3)
        • PWN (3)
        • WebHacking (20)
        • Reversing (4)
      • 알고 있으면 도움되지 않을까,,? (23)
      • 일상다반사 (1)
      • 근황 정리 (1)
      • 42 Seoul (1)
        • Setting (1)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • old-16
    • 드림핵
    • Python
    • 리스트함수
    • 웹해킹.kr
    • 파이썬함수
    • 파이썬
    • 파이썬기초

    나의 외부 링크

    • Github
    • solved.ac
    • caputdraconis@kakao.com

    정보

    caputdraconis의 caputdraconis

    caputdraconis

    caputdraconis

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. Copyright © caputdraconis.

    티스토리툴바