0

我正在使用flask appbuilde 构建一个网络应用程序,并在以下问题上停留了一周。

在文档中,说明看起来很简单:

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 == 用户名时检查。

我在这里缺少任何链接吗?我尝试了多种解决方案,但似乎没有任何效果。

任何帮助将不胜感激!

4

1 回答 1

0

我设法通过执行以下操作解决了这个问题:

我从 add_coloumns 中删除了 cap_id。我使用默认值 current_user 预先填充它,现在它工作得很好。耶!!

于 2019-11-01T13:01:57.260 回答