Flask admin:Flask.ext.admin.contrib.sqla-ModelView-formvalidate

Flask admin:Flask.ext.admin.contrib.sqla-ModelView-formvalidate,flask,flask-admin,Flask,Flask Admin,首先,我尝试使用form_base_类为我的管理视图配置验证方法: class MyForm(Form): def validate_name(self, field): pass class MyView(ModelView): form_base_class = MyForm 但是编辑表单和创建表单是相同的 然后我尝试使用create_form和edit_form方法,但似乎没有任何后果: admin = Admin(app, name='Admin

首先,我尝试使用form_base_类为我的管理视图配置验证方法:

class MyForm(Form):

    def validate_name(self, field):
        pass

class MyView(ModelView):

    form_base_class = MyForm
但是编辑表单和创建表单是相同的

然后我尝试使用create_form和edit_form方法,但似乎没有任何后果:

admin = Admin(app,  name='Admin')
myView = MyView(Test, db.session)
myView.create_form(MyCreateForm)
myView.edit_form(MyMEditForm)
admin.add_view(myView)

那么,我们如何使用不同的测试来验证flask admin表单,以进行编辑和创建?

为什么需要不同的验证规则?对于创建:我想测试该名称是否尚未在基础中使用。对于编辑,用户可以更改id或名称,因此名称的验证不同,因为它已经使用过一次。id是指主键吗?是的,id是主键。我的两条建议是:1。左侧数据库强制唯一性和2。不要更改主键