2009-09-23 2 views
3

인라인 '프로필'모델을 사용하여 추가 필드를 포함하는 django의 contrib.auth 사용자 모델을 확장하려고합니다.Django : list_display에서 인라인 모델 필드를 포함하는 방법은 무엇입니까?

from django.contrib import admin 
from django.contrib.auth.models import User 
from django.contrib.auth.admin import UserAdmin 

class Profile(models.Model): 

    user = models.ForeignKey(User, unique=True, related_name='profile') 
    avatar = '/images/avatar.png' 
    nickname = 'Renz' 

class UserProfileInline(admin.StackedInline): 

    model = Profile 

class UserProfileAdmin(UserAdmin): 

    inlines = (UserProfileInline,) 

admin.site.unregister(User) 
admin.site.register(User, UserProfileAdmin) 

이것은 관리자 '사용자 변경'페이지에 대한 잘 작동하지만, 나는 list_display에서 인라인 모델 필드를 추가 할 수있는 방법을 찾을 수 없습니다. 그냥 list_display에서 프로필 필드의 이름을 지정하는 것은 나에게 오류 제공 :

UserProfileAdmin.list_display[4], 'avatar' is not a callable or an attribute of 'UserProfileAdmin' or found in the model 'User'.

내가 프로필 테이블에서 사용자를 검색하고 관련 필드를 반환하는 호출 가능한을 만들 수 있지만, 이것은 정렬 할 수있는 기능없이 나에게 잎 내가 할 수 있어야하는 인라인 필드에 의한 목록보기.

제안 사항?

답변

7

당신은 유일한 해결책을 언급 한 - 호출 가능한을 만드는. 현재 다른 방법은 없으며, 그렇다고해서 해당 열을 기준으로 정렬 할 수 없다는 뜻입니다.

+1

2 년 후에도 여전히 사실입니까? – GDorn

관련 문제