2012-03-17 3 views
1

Formalchemy用にカスタムvalidatorsを書くのは簡単です。 SOMEFIELDの検証中にfield.parent.SOMEOTHERFIELD.valueを使って別のフィールド値にアクセスできます。検証中にFormalchemyで他のフィールドの値を変更しますか?

SOMEFIELDの検証中にSOMEOTHERFIELDの値を変更することはできますか?または、関連するフィールド値の変更を検証プロセスから切り離す必要がありますか?あなたが使用することができます

答えて

2

gawelの答えは一歩でしたが、(彼の答えの下のコメントを参照)私の問題を解決していませんでした。 field.parent.model.SOMEOTHERFIELDの値を変更しましたが、変更はsession.commit()でdbにコミットされませんでした。

多くのことを試してみたら、fieldset.sync()の前にfield.parent.model.SOMEOTHERFIELD = valueを使用しなければならないことがわかった。そのときだけ変更がコミットされます。

1

field.parent.model.SOMEOTHERFIELD =値

+0

これはfield.parent.model.SOMEOTHERFIELDの値を変更しますが、 'session.commit()'を実行した場合、変更はdbにコミットされません。どのように変更をDBにコミットしますか? – boadescriptor