Validation 如何删除wtforms中id字段上的验证程序

Validation 如何删除wtforms中id字段上的验证程序,validation,sqlalchemy,wtforms,Validation,Sqlalchemy,Wtforms,我已经从类中创建了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(Integ

我已经从类中创建了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


请给我一些建议,如何将wtforms与sqlalchemy结合使用?

通过在
字段中添加以下参数,使其显式可选:

'id': {'validators' : [validators.Optional()],
但是,我认为您应该从表单中完全排除
id
字段:

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