2012-03-16 6 views
2

Formalchemyを使用して、SQLAlchemyテーブルDataTBLに新しいレコードを追加しようとしています。 DataTableオブジェクトがまだ空であるためFormalchemyでSQLAlchemyレコードを追加する

fs = FieldSet(DataTBL) 
fs.bind(DataTBL, request=requestobject) 

if fs.validate(): 
    fs.sync() 
    session.commit() 

これは私がフォームに記入、DataTBL構造を持つ空のフォームで開始するFormalchemyを使用するにはどうすればよい

ValidationError: Cannot validate without binding data 

...私に検証エラーを与えますそれを検証/提出しますか?

答えて

3

あなたは

TRY)(.validateを使用するrequest.POSTを必要とする:

fs = FieldSet(DataTBL) 
fs = fs.bind(DataTBL, request=requestobject) 

if requestobject.POST and fs.validate(): 
    fs.sync() 
    session.add(fs.model) 
    session.commit() 
+0

これは動作しません。それでも 'ValidationError'と同じ意味を持ちます – boadescriptor

+0

' fs = FieldSet(DataTBL) 'の代わりに' fs = FieldSet(DataTBL、request = requestobject) 'が動作しました。 – boadescriptor

+1

ああ、はい。 .bind()は新しいインスタンスを返します。これは 'fs = fs.bind(DataTBL、request = requestobject)'でなければなりません。 – gawel

関連する問題