私はFlask-AdminとFlask-Securityを使用してWebサイトを作成しています。関数を実装したい:adminロールしか持たないユーザーはfooロールのユーザーを作成できます。fooロールのみを持つユーザーは、barロールであるユーザーを作成できます。
私は試しましたQueryAjaxModelLoader
:
form_ajax_refs = {
roles: QueryAjaxModelLoader("role", db.session, Role, fileds=["name"])
およびform_choices
:
form_choices = {"roles": [(3, "foo"), ]}
これらの2つの方法では問題は解決しません。誰かアドバイスをいただけますか?
最初on_model_change
は、roles
フィールドのデフォルト値を設定するために使用します。
そして、フィールドの選択を制限するためにform_args
とを使用します。query_factory
roles
def filter_func():
return db.session.query(Role).filter_by(name="applicant")
form_args = {
"roles": {
"query_factory": filter_func
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加