2017-09-13 1 views
0

장고 관리자 내에서 사용자 정의 인라인 양식을 사용하려고합니다.Django 관리자 - 사용자 정의 인라인 양식

admin.py - 회사 이름에 클릭

class EmpInline(admin.StackedInline): 
    model = Emp 
    form = UpdateYearlyForm 
    show_change_link = True 

class CompanyAdmin(admin.ModelAdmin): 
    list_display = ('companyname','companyid','get_active', 'get_updated') 
    inlines = [EmpInline] 

이 회사 세부 사항은 모든 관련 직원들에게 해당 formset와 함께 표시됩니다.

양식 표시와 관련하여 작동하지만 필드 중 하나는 모델 필드를 간접적으로 업데이트 한 사용자 지정 선택 필드입니다. 일반 사용자보기에서 (이 양식은 모든 레코드의 관리자와 사용자의 레코드 관련 사용자 둘 다 사용해야 함) 사용자 정의 필드는 다음과 같이 처리됩니다.

꽤 길기 때문에 뷰의 스 니펫 만 보여 줬습니다.

views.py -

if formset.is_valid(): 
     for form in formset.forms: 
      if form.is_valid(): 
       obj = form.save(commit=False) 
       data = form.cleaned_data 
       if data['updatefield'] == 'accident': 
        obj.years += 1 
       else data['updatefield'] == 'free': 
        obj.years += 1 
       obj.save() 

은 관리자에 inlineform로 사용하는 경우 같은 방법으로 형태 (및 사용자 정의 필드를) 처리하는 방법이 있나요?

답변

0

폼의 save() 함수를 재정의하는 것이이 문제를 정렬하는 데 도움이된다면 사용자 및 관리자 측면에서이 방법을 사용하는 것으로 변경했습니다.

관련 문제