1

クラスからsqlalchemyクラスとwtformフォームを作成しました。

from wtforms.ext.sqlalchemy.orm import model_form
class ClientGroup(Base, BaseModel):
    __tablename__ = 'client_groups'

    id = Column(Integer, primary_key=True)
    name = Column(String(255))
    sale = Column(Integer)

    def __unicode__(self):
        return self.name


ClientGroupForm = model_form(ClientGroup, Form, field_args={
    'name': {'validators' : [validators.Required(), validators.Length(min=5)]},
})

アプリには次のコードがあります:

form = ClientGroupForm(request.form)
if form.validate():
    .. save data

新しいデータをアプリに送信すると、検証エラーが返されます。ID は整数フィールドでなければなりません。しかし、新しいデータには ID がありません。

アドバイスをください sqlalchemy で wtforms を使用するにはどうすればよいですか?

4

1 に答える 1

2

に以下を追加して、明示的にオプションにしますfield_args

'id': {'validators' : [validators.Optional()],

idただし、フォームからフィールドを完全に除外する必要があると思います。

ClientGroupForm = model_form(ClientGroup, Form, field_args={
    'name': {'validators' : [validators.Required(), validators.Length(min=5)]},
    exclude=['id'],
})
于 2012-05-21T12:00:47.287 に答える