2014-03-26 7 views
0

저는 Flask, SQLAlchemy 및 WTForms를 사용하고 있습니다. 내 모델 개체에 uniquenullable=False으로 표시된 많은 속성이 있습니다. 이 데이터베이스에 새 행을 만들 때 잘 작동하지만 WTForms에 기존 개체에게 검증을 편집하려고 할 때 내 데이터 모델을 변경할 필요없이이 검증 패스를 할 수있는 방법모델 에디션에서 고유 한 유효성 검사기를 트리거하는 것을 피하는 방법은 무엇입니까?

{'aproperty': [u'Already exists.']}

실패? 다음은 documentation

업데이트

나에게 아무 소용했다.

+0

양식을 어떻게 인스턴스화합니까? – dirn

+0

양식 = MyForm (request.form) – ruipacheco

답변

1

기존 레코드를 양식과 연결해야합니다. 그렇지 않으면 유효성 검사기는 새로운 레코드를 생성하는 대신 기존 레코드를 업데이트한다는 것을 알 방법이 없습니다. 다음과 같은 것이 트릭을 수행해야합니다.

current_obj = ... 
form = MyForm(request.form, obj=current_obj) 
form.validate_on_submit(): 
    form.populate_obj(current_obj)