2010-07-07 5 views
1

안녕하세요. 회사의 문제 티켓 앱을 만들고 있는데, 사용자가 새로운 형태로 리디렉션하여 사용자가 제공 한 진단 및 솔루션을 지정합니다. 내 관리자는 기본적으로, 지금 내 코드는 첫 번째 양식을 호출합니다. obj가 새로 작성되거나 상태가 열려 있고 내 상태가 닫힐 때 ClosedForm을 호출합니다. 내가 원하는 무엇저장시 Django Admin의 새 양식으로 리디렉션

는 사용자가 휴일에 열기에서 상태를 변경하고 ticekt를 저장할 때, 그는 ClosedForm에

감사

class TicketFormClosed(ModelForm): 
    class Meta: 
     model = Ticket 
     fields = ('status','call_sheet_number','diagnose','solution','call_attend_date',) 

class TicketForm(ModelForm): 
    class Meta: 
     model = Ticket 
     exclude = ('call_sheet_number','diagnose','solution','call_attend_date',) 

class TicketAdmin(admin.ModelAdmin): 

    def get_form(self, request, obj=None, **kwargs): 
     form = super(TicketAdmin, self).get_form(request, obj, **kwargs) 
     if obj == None or obj.status=='Open': 
      form = TicketForm 
     else: 
      form = TicketFormClosed 
     return form 
+0

아마도 사용자 생성에 사용되는 ModelAdmin을 살펴 봐야 할 것입니다. –

답변

0

의 소스 코드를 살펴 리디렉션되고 있다는 점이다 admin.ModelAdmin. 거기에서 리다이렉트 할 수있는 오버라이드 (override) 가능한 훅이 있습니다.

예를 들어 django/contrib/admin/options.py 에서 HttpResponseRedirect를 검색하면 기본 플로우가 재생됩니다.

관련 문제