2012-04-29 4 views
0

사용자 이름을 별도의 first_name 및 last_name 필드로 강제 변환하는 것이 좋지 않아서 user.first_name 및 user.last_name을 profile.fullname으로 바꿨습니다.Django의 관리자에서 first_name과 last_name 숨기기

그것은 감각 관리자의 세 가지 이름을 표시하지 않기 때문에, 나는이 시도 :

admin.site.unregister(User) 

class ProfileInline(admin.StackedInline): 
    model = Profile 

class ProfileAdmin(UserAdmin): 
    inlines = [ProfileInline] 
    exclude = ('first_name', 'last_name') 

admin.site.register(User, ProfileAdmin) 

작동하지 않습니다, 나는 말할 수없는 이유 :

렌더링하는 동안 KeyError를 적발 :

+1

Django의 UserAdmin 클래스는 '추가'보기와 '변경'보기의 두 가지 양식을 사용합니다. 서로 다른 필드가 각각 정의됩니다. 이 오류는 정확히 어디에서 발생합니까? – rantanplan

+0

@rantanplan은 좋은 점이 있습니다. 장고가 "username"과 "password"만 포함하는 양식을 사용하면 "add"페이지에 나타납니다. 이 ModelAdmin이 동적으로 양식을 전환하는 방법을 기억하지 않지만 그것이 내 첫 번째 추측이됩니다. 두 가지 형식 중 하나를 재정의하는 적절한 방법을 찾으려면 조회 UserAdmin을 참조하십시오. –

답변

2

참고 문헌 the code'last_name''first_name' 이미 거라고 된 '키'FIRST_NAME가 '폼에서 찾을 수 없습니다 " fieldsets에 eared되었습니다. 그런 다음 레이아웃 필드에 더 이상 찾을 수없는 last_namefirst_name이라는 레이아웃 선언이 있기 때문에 오류가 발생합니다. 오버플로 fieldsets이 트릭을 수행합니다.

관련 문제