1
의 특정 멤버에서 하나 개의 필드를 제거하는 방법 :장고 : 나는 표 인라인과 장고 관리자에서 폼을 가지고있는 관리자 인라인
class MemberAdminInline(admin.TabularInline):
model = Member
fields = ("first_name", "last_name")
readonly_fields = ("first_name",)
class GroupAdmin(admin.ModelAdmin):
model = Group
fields = ("name", "description")
inlines = [MemberAdminInline]
나는 회원의 last_name
조건을 표시하고 싶습니다. 나는.
"If first_name = "Joe": don't display show field for last_name".
그것 정말 필드를 표시하지하고 있기 때문에 어떤 경우에는 내 실제 작업 시나리오에서, (예를 들어, JS를 사용)이 필드가 통과 할 때 breaked됩니다 이진 데이터를 포함 할 수 있습니다 숨기지에 중요 형태. 즉, last_name
은 특정 first_name
에 대해서만 관리자를 통해 편집 가능하게하고 싶습니다.
인라인에 대한 사용자 지정 양식을 제공하고 거기에서 조건부로 필드를 제거하려했거나 다양한 단계에서 readonly_fields
의 목록에 동적으로 필드를 포함시키지 만 장고는 항상 필드를 숨기려고하는 필드를 찾으려고했습니다. 그것은 장고처럼 보인다
장고 1.3.1
그것은 충분히 문자가 아니기 때문에 내가 그것을 해결하지 않습니다하지만 당신은했습니다 : 필요할 때 내가 찾은이 문제를 극복하기 위해 그래서 유일한 방법
실제로 저장된 값을 무시하는 것입니다 MemberAdminInlineForm에 사소한 오타가있어 코드에없는 경우 걱정하지 않아도됩니다. 'if self.intance.first_name == "Joe":'이어야합니다'if self.instance.first_name == "Joe": – chucksmash
수정 됨. 감사합니다. –