文档地址:http://www.minzhulou.com/docs/flask-admin/api/mod_model.html

model在flask_admin算是比较重要的部分,根据文档稍微的解释下常用的参数(个人见解)

class BaseModelView(model, name=None, category=None, endpoint=None, url=None, static_folder=None, menu_class_name=None, menu_icon_type=None, menu_icon_value=None)[源代码]

这是最基础的modelview类

该视图不关心你的模型是如何存储和管理的,但是期望以下的信息

  1. The provided model is an object     提供的模型是个对象
  2. The model contains properties    该模型具有属性
  3. Each model contains an attribute which uniquely identifies it (i.e. a primary key for a database model)    每个模型都至少有一个独一无二的标识符即数据库中的主键
  4. It is possible to retrieve a list of sorted models with pagination applied from a data source   可以从数据源中检索分页模型的列表
  5. You can get one model by its identifier from the data source    你可以从数据源中通过标识符获取模型

其实如果需要支持一个新的数据库,你只要做以下几件事情

  1. Derive from the BaseModelView class    从BaseModelView派生
  2. Implement various data-related methods (get_listget_onecreate_model, etc)    实现各种数据库相关的方法
  3. 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)    验证提交的表单

flask_admin model官方文档学习的更多相关文章

  1. Spring 4 官方文档学习(十二)View技术

    关键词:view technology.template.template engine.markup.内容较多,按需查用即可. 介绍 Thymeleaf Groovy Markup Template ...

  2. Spring Data Commons 官方文档学习

    Spring Data Commons 官方文档学习   -by LarryZeal Version 1.12.6.Release, 2017-07-27 为知笔记版本在这里,带格式. Table o ...

  3. Spring 4 官方文档学习(十一)Web MVC 框架之resolving views 解析视图

    接前面的Spring 4 官方文档学习(十一)Web MVC 框架,那篇太长,故另起一篇. 针对web应用的所有的MVC框架,都会提供一种呈现views的方式.Spring提供了view resolv ...

  4. Spring 4 官方文档学习(十一)Web MVC 框架

    介绍Spring Web MVC 框架 Spring Web MVC的特性 其他MVC实现的可插拔性 DispatcherServlet 在WebApplicationContext中的特殊的bean ...

  5. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(二)

    接前一篇 Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 本篇主要内容:Spring Type Conver ...

  6. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion

    本篇太乱,请移步: Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 写了删删了写,反复几次,对自己的描述很不 ...

  7. Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC

    内容列表: 启用MVC Java config 或 MVC XML namespace 修改已提供的配置 类型转换和格式化 校验 拦截器 内容协商 View Controllers View Reso ...

  8. Spring Boot 官方文档学习(一)入门及使用

    个人说明:本文内容都是从为知笔记上复制过来的,样式难免走样,以后再修改吧.另外,本文可以看作官方文档的选择性的翻译(大部分),以及个人使用经验及问题. 其他说明:如果对Spring Boot没有概念, ...

  9. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(一)

    题外话:本篇是对之前那篇的重排版.并拆分成两篇,免得没了看的兴趣. 前言 在Spring Framework官方文档中,这三者是放到一起讲的,但没有解释为什么放到一起.大概是默认了读者都是有相关经验的 ...

随机推荐

  1. Invalidate()(转)

    原文转自 http://m.blog.csdn.net/blog/piaopiaopiaopiaopiao/41521211 使用Invalidate(TRUE)函数时,它会向消息队列中添加了WM_E ...

  2. es修改数据

    # 官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#bulk-routing * ...

  3. 流程控制 while循环 运算符

    具体知识戳这里 可变数据类型:在id不变的情况下,数据类型内部的元素(value)可以改变 如:列表,字典 不可变类型:value改变,id也跟的改变 如:数字.字符.布尔类型 运算符 #算数运算符# ...

  4. linux 中解析命令行参数(getopt_long用法)

    linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...

  5. Oracle exp

    --导出表exp userid=hr/oracle123 tables=employees direct=y file=/u01/employees.dmp log=/u01/employees.lo ...

  6. Selenium2+python自动化21-TXT数据参数化【转载】

    前言      在17篇我们讲了excel数据的参数化,有人问了txt数据的参数化该怎么办呢,下面小编为你带你txt数据参数化的讲解 一.以百度搜索为例,自动搜索五次不同的关键字.输入的数据不同从而引 ...

  7. Linux命令之:tr

    1. 用途: tr,translate的简写,主要用于压缩重复字符,删除文件中的控制字符以及进行字符转换操作. 2. 语法: tr [OPTION]... SET1 [SET2] 3. 参数: -s: ...

  8. ORM-学生信息系统

    学生信息管理 展示学生信息 URL部分 url(r'^student_list/', app01_views.student_list, name="student_list"), ...

  9. GO语言的数据结构测试

    用于docker了,go也慢慢看一些.. 推荐书籍<go语言实践>就是<Go in Action>的中文版,有文字版PDF的. package main import ( &q ...

  10. Node-sqlite3多字段插入数据问题

    Node-sqlite3多字段插入数据问题 在npm官网上看到sqlite3的使用方法,就去尝试了一下,奈何关于多字段插入的API简介很少,直接上代码: 官网的示例如下: var sqlite3 = ...