【问题标题】:How to set the fixed value for the create/edit form field in Flask-Admin如何在 Flask-Admin 中为创建/编辑表单字段设置固定值
【发布时间】:2017-12-26 16:15:51
【问题描述】:

我正在使用 Flask-Admin 和 Flask-Security 来编写网站。我想实现一个功能:具有管理员角色的用户只能创建 foo 角色的用户。只有 foo 角色的用户才能创建 bar 角色的用户。

我试过QueryAjaxModelLoader:

form_ajax_refs = {
    roles: QueryAjaxModelLoader("role", db.session, Role, fileds=["name"])

form_choices:

form_choices = {"roles": [(3, "foo"), ]}

这两种方法都不能解决问题。谁能给我一些建议?

【问题讨论】:

  • 我选择重写on_model_change方法来达到我的目的。

标签: python flask flask-admin


【解决方案1】:

首先,我使用on_model_change来设置roles字段的默认值。

然后,我使用form_argsquery_factory 来限制roles 字段的选择。

def filter_func():
    return db.session.query(Role).filter_by(name="applicant")

form_args = {
    "roles": {
        "query_factory": filter_func
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    相关资源
    最近更新 更多