flask_admin model官方文檔https://flask-admin.readthedocs.io/en/latest/_modules/flask_admin/model/base/#BaseModelView.get_filter_arg學習
文檔地址:http://www.minzhulou.com/docs/flask-admin/api/mod_model.html
model在flask_admin算是比較重要的部分,根據文檔稍微的解釋下常用的參數(個人見解)
BaseModelView(model, name=None, category=None, endpoint=None, url=None, static_folder=None, menu_class_name=None, menu_icon_type=None, menu_icon_value=
這是最基礎的modelview類
該視圖不關心你的模型是如何存儲和管理的,但是期望以下的信息
The provided model is an object 提供的模型是個對象
The model contains properties 該模型具有屬性
Each model contains an attribute which uniquely identifies it (i.e. a primary key for a database model) 每個模型都至少有一個獨一無二的標識符即數據庫中的主鍵
It is possible to retrieve a list of sorted models with pagination applied from a data source 可以從數據源中檢索分頁模型的列表
You can get one model by its identifier from the data source 你可以從數據源中通過標識符獲取模型
其實如果需要支持一個新的數據庫,你只要做以下幾件事情
Derive from the BaseModelView class 從BaseModelView派生
Implement various data-related methods (get_list, get_one, create_model, etc) 實現各種數據庫相關的方法
Implement automatic form generation from the model representation (scaffold_form) 從模型表示中實現自動錶單生成
can_create = True 是否可以創建
can_edit = True 是否可以編輯
can_delete = True 是否可以刪除
list_template = 'admin/model/list.html' 修改顯示該模型的html模板
edit_template = 'admin/model/edit.html' 修改編輯該模型的html模板
create_template = 'admin/model/create.html' 修改創建該模型的html模板
column_list 填入想要顯示的字段,不填的話自動從模型中取
column_exclude_list 填入不想顯示的字段
column_labels 一個字典,值是字段名,鍵是顯示的名稱,爲字段提供顯示的別名
column_descriptions 一個字典,同上,爲字段顯示描述
column_formatters 一個字典,格式化字段,定義字段的顯示方式
column_type_formatters 一個字典,格式化字段類型,定義字段類型的顯示方式,默認顯示,None是空字符,bool是True,list是‘,’
column_display_pk 控制主鍵是否顯示
column_sortable_list 選擇可以被排序的字段
column_searchable_list 選擇可以被搜索的字段
column_default_sort 默認的排序字段,默認爲空
column_choices 字段的可選值
column_filters 選擇可以被過濾的字段
form 一個Form類,可以被重寫, 用來在創建和編輯是使用的表單
form_base_class 一般用來做csrf防禦
form_columns=None 選擇創建或者編輯時顯示的字段
form_excluded_columns 選擇創建或編輯時不想顯示的字段
form_args=None 表單字段參數的字典。有關可能的選項列表,請參閱WTForms文檔
form_overrides 重寫字段的表單字典
form_widget_args 定義表單字典需要的參數
form_extra_fields 表單額外的字段
form_ajax_refs 使用ajax來加載外鍵
form_create_rules=None 爲創建的表單定製規則,重寫form_rules如果存在的話
form_edit_rules=None 爲編輯的表單定製規則,重寫form_rules如果存在的話
action_disallow_list 選擇不允許執行的操作,如刪除操作
page_size=20 設置每頁顯示的字段數
action_form 自定義表單操作
action_view 自定義顯示操作
after_model_change 在表單改變之後需要做的事情
after_model_delete 在表單被刪除之後需要做的事情
ajax_update 在列表視圖中編輯單個字段
can_export=False 是否可以被導出
can_set_page_size=False 是否可以設置分頁的數量
can_view_details=False 是否可以查看詳細的字段
column_details_exclude_list=None 詳細字段中不顯示的字段
column_details_list=None 詳細字段中顯示的字段
column_display_actions=None 控制字段每個值的操作,編輯,刪除,查看詳細字段等
column_editable_list=None 可以被編輯的字段
column_export_exclude_list=None 不可以被導出的字段
column_export_list=None 可以被導出的字段
column_extra_row_actions=None 定製額外的字段操作
column_formatters_export=None 定義導出的字段格式
column_type_formatters_export=None 定義導出的字段類型的格式
create_form 創建表單
create_modal=False 創建時是否彈出對話框
create_modal_template='/admin/model/modals/create.html' 設置創建時彈出的對話框的模板地址
create_view 創建視圖
delete_form 刪除表單
delete_model 刪除模板
delete_view 刪除視圖
details_modal=Flase 查看詳細時是否彈出對話框
details_modal_template=‘admin/model/modals/details.html’ 設置查看詳細彈出的對話框的模板地址
details_template='admin/model/details.html' 設置查看詳細的模板地址
details_view 詳細視圖
edit_form 編輯表單
edit_modal=False 編輯時是否彈出對話框
edit_modal_template='admin/model/modals/edit.html' 設置編輯時彈出對話框的模板地址
edit_view 編輯視圖
export_max_row=0 設置導出最大的數量
export_types=['csv'] 設置導出類型
form_rules=None 表單規則
get_action_form() 爲模型操作創建表單類
get_column_name(field) 返回一個人類可以讀的字段名
get_column_names(only_column, excluded_columns) 返回一系列可以讀的字段名
get_create_form() 爲模型創建視圖創建一個表單類
get_delete_form() 爲模型刪除視圖創建一個表單類
get_details_columns() 獲取詳細字段的字段名
get_edit_form() 爲模型編輯視圖創建一個表單類
get_export_columns() 獲取可以被導出的字段名
get_export_name(export_type='csv') 獲取可以導出文件名稱
get_export_value(model, name) 獲取導出值
get_filter_arg(index,flt) 獲取單個過濾項
get_filters() 獲取所有過濾項
get_form() 獲取表單類
get_list(page, sort_field, sort_desc, search, filters,page_size=None) 從數據庫中獲取指定的數據
get_list_columns() 獲取設置的column_list中的字段
get_list_form() 獲取可編輯列表視圖的表單類
get_list_row_actions() 返回字段可以執行的操作
get_list_value(context,model,name) 返回要在列表視圖中顯示的值
get_one(id) 通過id來獲取某個模型
get_pk_value(model) 獲取模型的主鍵
get_save_return_url(model, is_created=False) 獲取保存之後返回的url
get_sortable_columns() 獲取可以排序的字段
handle_filter(filter) 處理過濾器
index_view(*args,**kwargs) 默認顯示的視圖
init_search() 初始化搜索
is_action_allowed(name) 判斷操作是否允許
is_editable(name) 判斷是否可以編輯
is_sortable(name) 判斷是否可以拍下
is_valid_filter(filter) 判斷是否是合法的過濾器
list_form(obj=None) 實例化列表視圖的模型編輯表單並返回
named_filter_urls=False 在url參數中使用人類可以的過濾器
on_form_prefill(form,id) 執行其他操作以預填充編輯表單
on_model_change(form,model,is_created) 在模板改變後需要做的事情
on_model_delete(model) 在模板被刪除之後需要做的事情
scaffold_filters(name) 爲給定的名稱生成過濾器對象
scaffold_form() 從模型中創建form.BaseForm繼承的類。必須在子類中實現
scaffold_list_columns() 返回模型字段名稱列表。必須在子類中實現。
scaffold_list_form(widget=None, validators=None) 僅使用self.column_editable_list中的列爲index_view創建表單
scaffold_sortable_columns() 返回可排序列的字典。必須在子類中實現
simple_list_pager=False 是否計數
update_model(form,model) 從表單中更新模型
validate_form(form) 驗證提交的表單