2016-08-07 6 views
0

장고 서식 세트로 구성된 표를 렌더링하는 장고 서식 파일이 있습니다.편집중인 formset의 양식 ID를 얻으십시오.

$(document).on('change', '#my_table tr input[type = text], input[type = number]', function(){ 
     // currently the following code handles save event 
     // $.post ('/save_my_form/', $form.serialize()) 
    }); 

그리고 해당 장고보기

def save_my_form(request): 
    # ....... 
    for form in order_draft_formset: 
     if form.is_valid(): 
      form.save() 
    # ....... 

:

템플릿 (단순화) 이제

<table id = 'my_table'> 
    {% for form in my_formset %} 
     <tr><td>{{form.my_field}}</td></tr> 
    {% endfor %} 
</table> 

, 나는 이런 식으로 뭔가를 보이는 jQuery 코드를 이 접근 방식의 문제점은 내가 하나의 input 요소를 하나의 단일 형식으로 처리하는 반면 Django 뷰는 전체 formset을 반복합니다. 문제는, 수정 된 입력이 지역화되어있는 양식을 가져 오는 내장 장고 방법이 있는지 여부입니다. 따라서 전체 양식 세트를 거치지 않고도이 정확한 양식 만 내보기에 저장할 수 있습니다. Jquery는 Django가 도움이 될 수있는 요청 후 매개 변수를 통해 정보를 제출해야한다고 생각합니다. 현재로서는 자동으로 장고가 생성 한 id, fe, id_form-5-my_field를 파싱하고 Jquery에서 "5"를 가져 와서이 "5"를 장고에 전달하려고합니다. 그러나 나는 이것이 "더러운"방법이라는 끔찍한 감정을 가지고 있으며 그것을하기위한보다 깨끗한 방법이 있어야합니다. 이것에 대한 아이디어가 있습니까?

답변

2
if form.has_changed(): 
    if form.is_valid(): 
     form.save() 
+0

실용적이고 초등. 생각하지 않았어. 고맙습니다) –

관련 문제