2010-03-12 2 views
0

json 개체를 렌더링 할 때 해당 값으로 사용해야하는 양식 필드가 있습니다. 양식이 제출되면 id 값이 쉼표로 구분 된 문자열 (json 문자열이 아님)을 반환합니다. 그러나 폼이 유효하지 않으면이 문자열을 json 문자열로 되돌려서 올바르게 표시 할 수 있도록 json 개체를 올바르게 렌더링하기 위해 jquery를 사용합니다.양식이 유효성 검사에 실패 할 때 form.data의 값을 바꿉니다.

어떻게하면 좋을까요?

나는 form.clean 방법을 덮어 쓰는 생각하지만 난 self.data [ '필드 이름을'] 변경하려고 할 때 나는 오류 '이 QueryDict 인스턴스는 불변이다'

있고 난 자기를 변경하려고 할 때 .cleaned_data [ 'fieldname'] 필드의 값과 차이를 만들지 않았습니다.

감사

+0

가 필요 이것에 대한 새로운 질문을 만드는 것이었다하는 데 도움이? 기본적으로 다른 질문과 같습니다. http://stackoverflow.com/questions/2432421/django-form-field-initial-value-on-failed-validation –

답변

0

는 내가보기보다는 폼 클래스에 이런 짓을

if request.method == 'POST': 
    new_data = request.POST.copy() 
    form = MyForm(data=new_data) 
    if form.is_valid(): 
     form.save() 
    else: 
     new_data['myField'] = '[{'id':1,'value':some json object}]' 

을하고 끝났다. 나는 이것이 최선의 방법인지는 모르겠지만 나를 위해 일했다. 요청 중 .POST.copy()를 사용하면 내가 처음에 얻은 오류 중 하나 인 게시물 변수를 변경할 수있었습니다.

희망이 사람

관련 문제