2013-11-02 4 views
2

일부 사용자 레지스트리 데이터를 생성하기 위해 ModelForms를 사용하고 있습니다. 양식을 제출하면 기록이 실제로 추가됩니다. 그러나 기존 레코드도 양식 형식으로 표시됩니다. 새로운 사용자를 추가하고 싶습니다.Django ModelForm의 삽입 양식에도 기존 레코드가 표시됩니다.

는 HTML 양식을 가입

다음 ModelForms를 선언

<div class="container"> 
     <h1>Sign up</h1> 
     <form method="post" action="https://stackoverflow.com/users/signup/">{% csrf_token %} 
      <table> 
       {{ formset }}  
       <tr><th><input type="submit" /></th></tr> 
      </table> 
     </form> 
    </div> 

기능 :

def model_signup(request): 
    ModelFormSet = modelformset_factory(Model) 
    if request.method == 'POST': 
     formset = ModelFormSet(request.POST, request.FILES) 
     if formset.is_valid(): 
      formset.save() 
      # do something. 
    else: 
     formset = ModelFormSet() 
    return render_to_response("model_signup.html", { 
     "formset": formset, 
    }, context_instance=RequestContext(request)) 

감사합니다!

답변

1

양식 세트를 만들 때 specify a queryset 수 있습니다. 기존 레코드를 표시하지 않으려면 빈 쿼리 세트 MyModel.objects.none()을 사용하십시오.

ModelFormSet = modelformset_factory(MyModel) 
if request.method == 'POST': 
    formset = ModelFormSet(request.POST, request.FILES, queryset=MyModel.objects.none()) 
    if formset.is_valid(): 
     formset.save() 
     # do something. 
else: 
    formset = ModelFormSet(queryset=MyModel.objects.none()) 
+0

감사드립니다. 대단히 감사합니다. – Dynelight

관련 문제