我正在使用flask appbuilde构建一个web应用程序,并在下面的问题上坚持了一周。
在文档中,说明似乎非常直接:
class MyView(ModelView):
datamodel = SQLAInterface(MyModel)
validators_columns = {
'my_field1':[EqualTo('my_field2', message=gettext('fields must match'))]
}
然而,当我准确地实现这一点时,即使输入正确,UI上也会显示"无效输入",从而阻碍表单提交。
我的代码(views.py(:
class DelModelView(ModelView):
datamodel = SQLAInterface(Dell)
base_filters = [['cap_id', EqualTo, get_user]] #current user
list_columns = ["cap_id", "s_code", "s_name", "sos", "date_of_change"]
#base_order = ("cap_id", "asc")
validators_columns = {
'cap_id':[FilterEqualFunction(get_user, message=_('fields must match'))]
}
def get_user():
return g.user.username
我想添加一个验证,在添加新条目cap_id==username时检查是否。
我这里有遗漏吗?我尝试了多种解决方案,但似乎都不起作用。
任何帮助都将不胜感激!
我通过以下操作解决了这个问题:
我从add_coloumns中删除了cap_id。我使用默认值current_user预填充它,现在它工作得很好。耶!!