2011-02-18 4 views
1

이것은 간단해야하며 실제로 어제 작업했습니다. 무엇이 바뀌 었는지는 모르겠지만 이제는 오류가 발생합니다. 사람들이 더 도움이 될 수 있도록 항상 전체 역 추적을 할 전망이 한Django 인라인 Formset 문제 (범위를 벗어난 목록)

+0

여기에 들여 쓰기 오류가 코드에 없습니다. POST 메서드를 확인한 직후 줄에 오류가 표시됩니다. 템플릿 오류일지도 모르지만 {{form.as_p}}을 (를) 사용하고 있으며 기존 설문 조사가 올바르게 표시되고 있습니다 – Ben

답변

1

에 어떤 도움

def game_design(request): 
    user=User.objects.get(pk=request.user.id) 
    organization=user.organization_set.all()[0] 
    website=organization.website_set.all()[0] 
    surveys=website.survey_set.all() 
    error='' 
    SurveyFormSet=inlineformset_factory(Website, Survey, extra=0, can_delete=True) 
    NavigationFormSet=modelformset_factory(Navigation, extra=1) 
    if request.method=='POST': 
     survey_formset=SurveyFormSet(request.POST, request.FILES, prefix="surveys") 
     navigation_formset=NavigationFormSet(request.POST, request.FILES, prefix="navigations") 
     if survey_formset.is_valid() and navigation_formset.is_valid(): 
       survey_formset.save() 
      navigation_formset.save() 
      return HttpResponseRedirect("/rewards/") 
     else: 
      error="Please fix your errors" 
      survey_formset=SurveyFormSet(request.POST, request.FILES,prefix="surveys") 
      navigation_formset=NavigationFormSet(request.POST, request.FILES,prefix="navigations") 
      return render_to_response('website/game_design.html', {'website':website,'survey_formset':survey_formset, 'navigation_formset':navigation_formset, 'error':error}, context_instance=RequestContext(request)) 
    else: 
     survey_formset=SurveyFormSet(instance=website,prefix="surveys") 
     navigation_formset=NavigationFormSet(queryset=Navigation.objects.none(),prefix="navigations") 
    return render_to_response("website/game_design.html", {'website':website,'survey_formset':survey_formset,'navigation_formset':navigation_formset,'error':error},context_instance=RequestContext(request)) 

감사합니다.

organization=user.organization_set.all()[0] 
website=organization.website_set.all()[0] 

있는지 그게 문제가 아니에요 당신 :

당신은 아무것도 변경되었습니다 말과 어제 작업 한 경우 코드가 IndexError 던질 변경할 필요가없는 하나 개의 영역이있다?

+0

유진, 나는 멍청한 행동입니다. 추적 기록을 첨부했습니다. – Ben

9

내 문제는 내 해당 formset의 인스턴스 인수를 포함하지 않는 관련 된 것으로 나타납니다) 우리는 역 추적을 볼 때까지

어느 쪽이든은, 그것은 말하기 어렵다.

내가 가진해야

다음

survey_formset = SurveyFormSet (request.POST, request.FILES 예 = 웹 사이트, 접두사 = "설문 조사")

천천히

그러나 확실하게 내가하지 않도록 배울 수 있습니다 어리석은 실수하다

+0

답변으로 표시하십시오 (이는 사용자가 검색 결과에서 귀하의 질문을 보는 사람들에게 답변 한 사실을 알려줍니다). –

관련 문제