方法1:
关键在于自定义创建记录的表单类,在表单类的构造函数中生成字段内容,通过get_create_form返回表单。附带的可以将字段设置为只读。
下面例子中希望自动生成只读的uuid。
class AdminProductionView(ModelView):
class AdminProductionCreateForm(Form):
uuid = StringField('UUID')
name = StringField('Name')
para = StringField('Para')
def __init__(self, formdata=None, obj=None, prefix='', data=None, meta=None, **kwargs):
super().__init__(formdata, obj, prefix, data, meta, **kwargs)
self.uuid.data = str(uuid4())
def get_create_form(self):
return AdminProductionView.AdminProductionCreateForm
form_widget_args = {
'uuid': {
'readonly': True,
}
}
方法2:
结合on_model_change和form_excluded_columns。要自动生成的字段名放form_excluded_co