2011-11-11 4 views
0

사용자에게 추가 데이터가있는 Django 응용 프로그램이 있습니다. 이 데이터는 Profile 모델에 OneToOneFieldUser을 가리키며 수집됩니다.Django 사용자 정의 관리자

대부분의 경우 완벽하게 작동하지만 관리자를 맞춤 설정하는 데 어려움이 있습니다 (User). 특히 :

  • 나는 list_display 내부 Profile 필드를 표시 할 수 있도록하고 싶습니다. User 자체에 추가 방법을 쓰지 않고이 작업을 수행하는 방법을 모르겠습니다.
  • User 세부 정보 페이지에서 관련 모델 (예 : 사용자가 소유 한 일부 리소스)에 대한 일부 정보를 표시하고자합니다. 다시 말하지만, 사용자 정의 User 메서드를 작성하지 않고이 작업을 수행하는 방법을 알지 못합니다.

위의 해결 방법을 알고 계십니까?

답변

0

User 모델 대신 UserAdmin 자체에 메소드를 넣을 수 있습니다. 이렇게하면 사용자에 대해 필요한 모든 정보에 액세스 할 수 있습니다.

1

admin.py에서 admin 클래스를 편집하기 만하면됩니다. admin.inline * 클래스를 사용하여 도움을받을 수 있습니다. 저자의 관리자 페이지에 도서를 추가합니다 장고 웹 사이트에서 예 :

class BookInline(admin.TabularInline): 
    model = Book 

class AuthorAdmin(admin.ModelAdmin): 
    inlines = [ 
     BookInline, 
    ] 

admin.site.register(Author, AuthorAdmin) 

here 자세히 알아보십시오.

편집 :

list_display = (..., 'your_method') 
+0

이 질문에 도움이되지 않습니다 : 당신은 UserAdmin 모델의 메소드를 추가하고 list_display 필드를 설정할 때이를 참조 할 수 있어야한다. 인라인을 추가해도 사용자 목록이 표시되는 방식은 변경되지 않습니다. – Andrea

+0

두 번째 요점은 별도의 인라인이 아닌 일부 상태를 요약하는 단일 필드가 필요합니다. – Andrea

+0

그건 그렇고, 문제는 제가 작업하고있는 모델이'User'인데, 제가 통제 할 수없는 모델입니다. 다른 모델의 관리자를 사용자 지정하는 데 문제가 없었습니다. – Andrea

관련 문제