반응형

django admin 3

[django] Django Admin 메뉴 순서 커스터마이징 – 공백 기반 정렬 방식

Django 프로젝트가 커지면 Admin 페이지에 등록된 모델 수가 많아지고, 이를 보기 좋게 정렬하고 싶은 상황이 생깁니다. 기본적으로 Django Admin은 모델 이름을 알파벳순으로 정렬하지만, 실제 사용 시에는 업무 플로우나 중요도에 따라 직접 메뉴 순서를 조정하고 싶은 경우가 많습니다. 이번 포스트에서는 verbose_name_plural의 앞쪽 공백 수를 활용해 원하는 정렬 순서를 만드는 방법과 함께, 이를 상수로 정리해서 관리하는 패턴을 소개합니다.🧩 문제 상황Django Admin은 모델 이름의 알파벳 순서로 메뉴를 정렬합니다.그런데 아래와 같은 모델들을 관리할 때는 업무에 따라 특정 모델을 위쪽에 배치하고 싶은 경우가 있습니다.🛠️ 해결 방법: 공백 수를 활용한 정렬 순서 제어모델 메..

[django] Django Admin Inline템플릿에 Custom Context 안전하게 전달하는 방법

— get_inline_instances()로 커스텀 컨텍스트(custom context) 주입하기Django Admin은 뛰어난 기능을 제공하지만, 종종 커스터마이징에는 제한이 따릅니다. 특히, Inline에 custom template을 적용하고, 여기에 개별 객체 정보를 포함한 동적 context를 전달하고 싶을 때 어려움이 있습니다. 이 글에서는 get_inline_instances()를 활용해 Django Admin Inline에 안전하게 custom context를 전달하는 가장 실용적인 방법을 소개합니다.🎯 목표Django Admin의 Inline에 custom template을 사용Inline 템플릿 내에서 동적 정보를 안전하게 활용🔥 핵심 전략Django는 Inline을 렌더링할 때 ..

[django] Related Field got invalid lookup: icontains 오류

search_fields 옵션에 원하는 필드들을 넣어서 admin페이지에서 검색 가능하도록 만들려고 하는 중에 "Related Field got invalid lookup: icontains" 이런 오류에 맞딱뜨렸다. 아래 코드가 admin.py에서 오류가 났었던 코드이다. models.py를 보면 title, content 필드는 Post테이블 자체필드이지만 username 은 User라는 테이블에서 외래키로 연결시켜놓은 상태이다. 즉 username필드는 User테이블과 연결시켜주는 고유값일 뿐이다. 따라서 django는 User테이블에서 어떤 필드를 가지고 검색해야 하는지 모르는 것이다. 그래서 에러가 났을 뿐... # models.py class Post(BaseModel): username = ..