2017-12-26 2 views
0

웹 사이트를 작성하려면 Flask-Admin 및 Flask-Security를 ​​사용하고 있습니다. 나는 기능을 구현하고 싶다 : admin 역할 만 가진 사용자는 foo 역할 인 사용자를 생성 할 수있다. foo 역할만을 가진 사용자는 bar 역할을하는 사용자를 생성 할 수 있습니다.Flask-Admin에서 작성/편집 양식 필드의 고정 값을 설정하는 방법

은 내가 QueryAjaxModelLoader을 시도 :

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

form_choices :

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

이 두 가지 방법으로 문제가 해결되지 않습니다. 누구든지 조언을 해줄 수 있습니까?

+0

내 목적을 달성하기 위해'on_model_change' 메소드를 오버라이드하도록 선택했습니다. – stamaimer

답변

0

우선 on_model_change을 사용하여 roles 필드의 기본값을 설정합니다.

그리고 나서 roles 필드의 선택을 제한하기 위해 form_argsquery_factory을 사용합니다.

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

form_args = { 
    "roles": { 
     "query_factory": filter_func 
    } 
} 
관련 문제