2011-08-24 5 views
1

list_display (관리보기에 있음)의 내용을 모델이 필터링 될 때마다 일부 모델에 재설정하는 방법이 있습니까? (따라서 다른 오브젝트에 의한 필터링은 표시 테이블에 다른 수의 열을 제공합니다). 예를 들어Django - 동적으로 list_display (관리자보기)의 내용을 설정하십시오.


: Child, Family, Pet :

내 장고 응용 프로그램의 세 가지 모델이있다. Child은 foregin 키가 Family이고, Pet도 foregin 키가 Family입니다.

이제 Child의 관리자보기에서 Family으로 필터링 할 수 있기를 원하며 필터링 후 해당 테이블에 자녀의 이름과 가족이 소유 한 애완 동물의 이름이 표시됩니다. 이렇게하면 표시된 테이블의 열 수가 Family 개체의 애완 동물 수에 따라 변경되어 필터링이 수행됩니다.

감사합니다.

답변

1

list_display은 admin.py에 설정되어 있으며, 서버를 다시 시작해야 효과적입니다. 결과적으로 즉시 수정할 수 없습니다.

또한 Django는 이러한 방식으로 ManyToMany 필드의 표시를 지원하지 않으므로 "out of the box"목록보기에서 애완 동물 이름을 표시 할 수 없습니다. the documentation에 따르면 :

당신이, 그럼에도 불구하고이 작업을 수행 할 모델을 사용자 정의 방법을 제공하고, list_display에 그 메소드의 이름을 추가 할 경우

.

관련 문제