ORM API
模块
模块字段被定义为模块本身的属性,默认情况下,该字段的标签名(即用户可见的名称)是该字段名称的大写版本,但是可以用string参数覆盖。
field2 =fields.Integer(string="Field Label")
字段类型和参数的列表,详见字段参考。默认值被定义为字段参数,是一个值:
name=fields.Char(default="a value")
API:Application Program Interface
每个数据库会自动为实例化每种模型一次。这些实例表示每个数据库上的可用模型,并且取决于该数据库上安装了哪些模块。每个实例的实际类都是从相应模型的Python类创建和继承的。
每个模型实例都是一个“记录集”,即模型记录的有序集合。记录集由诸如*browse()*, *search()*或字段访问之类的方法返回。记录没有显式表示:记录表示为一个记录的记录集。
若要创建不应实例化的类,可以将*_register*属性设置为False。
*模块内置字段:*
*_auto* *= False***
是否创建数据库表。如果设置为*False*,则覆盖*init()*以创建数据库表。
对于Model和TransientModel,自动默认为True;对于AbstractModel,默认为False。
若想创建无数据库表的模型,可继承模型 *AbstractModel*.
*_log_access*
ORM是否应自动生成和更新访问日志字段。默认为*_auto*.设置的值。
*_table* *= None***
依据*_auto*,模块使用数据库表的名称
*_sequence* *= None***
SQL序列用于ID字段
*_sql_constraints* *= []***
SQL约束[(name, sql_def, message)]
*_register* *= True***
注册表是否可见
*_abstract* *= True***
是否抽象模型。
*_transient* *= False***
是否瞬态模型。
*_name* *= None***
模块名称(in dot-notation, module namespace)
*_description* *= None***
模块信息
*_inherit* *= None***
Python继承的模块:(类型是字符或含字符的列表)
如果设置了_name,则要从其继承的父模型的名称。
如果未设置_name,则为单个模型的名称以就地扩展。
*_inherits* *= {}***
字典{“ parent_model”:“ m2o_field”}将父对象的_name映射到要使用的相应外键字段的名称:
标签:API,None,False,name,模型,ORM,模块,数据库 From: https://www.cnblogs.com/DTCLOUD/p/17202295.html作者:雷行