簡體   English   中英

如何將方法中的訪問與 Flask-Admin 中的 BaseModelView 類分開

[英]How to separate access in methods from BaseModelView class in Flask-Admin

我正在使用Flask-Admin來管理我的儀表板,我的應用程序中的角色很少,其中兩個是superuserclient

現在,我通過Flask-SQLAlchemy構建了User表,現在我想按用戶角色管理該表。 這意味着超級用戶可以在 Flask-Admin 表單中編輯用戶角色,而在其他客戶端不能這樣做或不顯示表單。

像這個截圖: 在此處輸入圖片說明 超級用戶角色的編輯表單。 但是現在,如果當前用戶具有角色client ,我希望不顯示編輯表單。

所以,從邏輯上講,我想做這樣的事情:

class UserModelView(sqla.ModelView):
    if current_user.has_role('superuser'):
        form_excluded_columns = ('created_at', 'updated_at')
    else:
        form_excluded_columns = ('created_at', 'updated_at', 'roles')

我按照@SergeyShubin 的建議在這里按照他的回答進行操作,在這種情況下,這與我的情況非常相似,並且效果很好。

此外@SergeyShubin回答這里也有我的情況類似。 非常感謝@SergeyShubin。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM