ORM之模型对象Model
模型对象Model
Odoo的模型对象在odoo模块的models.py文件中,最基础的对象是BaseModel;
Odoo的模型对象有三个:AbstractModel、Model、TransientModel
BaseModel
BaseModel是一切模型的基础
- _auto = False 是否在后台创建数据表
- _register = False
- _abstract = True 是否是抽象模型
- _transient = False 是否是临时模型
- _name = None 模型名称
- _description = None 模型描述
- _custom = False 是否自定义模型
- _inherit = None 被继承的模型名称
- _inherits = {} 继承关系
- _table = None 模型对应的数据表的名称,默认值是_name的值中将.转换成_
- _sql_constraints = [] SQL约束
- _rec_name = None 在其他模型中引用此模型时显示的字段,默认是name
- _order = 'id' 记录排序
- _parent_name = 'parent_id' 关联父级记录的字段
- _parent_store = False 值为True时会计算parent_left和parent_right
- _parent_order = False 父级记录排序字段
AbstractModel
AbstractModel = BaseModel;AbstractModel 是一个抽象模型不会在数据库创建对应表,Model可以继承AbstractModel,AbstractModel为多个Model提供相同属性的统一声明
Model
Model继承自AbstractModel,但是Model的 _auto=False , _abstract = False;
Model的模型对象在模块安装或升级的时候会自动在数据库中创建相应的数据表
TransientModel
TransientModel继承自Model,但是TransientModel的_transient = True,TransientModel是一种特殊的Model,TransientModel对应的数据表中的数据系统会定时的清理;TransientModel的数据只能做临时数据使用,一般向导对象模型会声明成TransientModel
作者:路峰
链接:https://www.jianshu.com/p/071bad27b6c1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
ORM之模型对象Model的更多相关文章
- TP框架---Model模型层---做模型对象
TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是 ...
- 【转】使用信号监控 Django 模型对象字段值的变化
转载出处:http://blog.csdn.net/pushiqiang/article/details/74949465 Django 信号 (Signals) 的功能类似于 WordPress 的 ...
- DjangoMTV模型之model层——ORM操作数据库(基本增删改查)
Django的数据库相关操作 对象关系映射(英语:(Object Relational Mapping,简称ORM),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说 ...
- python的Web框架,Django的ORM,模型基础,MySQL连接配置及增删改查
Django中的ORM简介 ORM概念:对象关系映射(Object Relational Mapping,简称ORM): 用面向对象的方式描述数据库,去操作数据库,甚至可以达到不用编写SQL语句就能够 ...
- Django 模型系统(model)&ORM--基础
ORM 映射关系: 类 ---> 表 属性 ---> 字段 对象 --->一条数据 创建表(建立模型) 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作 ...
- Django模型(model)系统
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django 模型(Model)
1. 模型简介 ORM 简介 使用 Mysql 数据库的环境配置 2. 定义模型 1)定义属性 2)字段类型 3)字段选项 4)关系 5)元选项 6)范例 3. 模型成员&管理器 1)类属性 ...
- 模型(Model)– ASP.NET MVC 4 系列
为 MVC Music Store 建模 在 Models 目录中为专辑.艺术家.流派建模: public class Album { public virtual int ...
- SkylineGlobe7.0.1版本 通过鼠标左右平移模型对象
帮同事写了一段测试代码,如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
随机推荐
- ActiveMq C# 消息特性:延迟和定时消息投递
ActiveMQ from version 5.4 has an optional persistent scheduler built into the ActiveMQ message broke ...
- Dapper学习(一)之Execute和Query
Dapper是一个用于.NET的简单的对象映射,并且在速度上有着轻ORM之王的称号. Dapper扩展IDbConnection,提供有用的扩展方法来查询数据库. 那么Dapper是怎样工作的呢? 总 ...
- mysql删除重复数据(通过多个字段分组,删除某一字段为空的数据)
DELETE FROM t_questions WHERE Id in ( SELECT Id FROM ( SELECT Id FROM `t_questions` WHERE (Name,Ques ...
- 整理:C#常用字符串操作,常用数值类型转换
一.字符串操作 1. 字符串连接 //将指定的数组所有元素拼接为一个字符串 string[] arr = {"A","B","C"}; st ...
- EntityFrameworkCore Db First 生成Model时出错 PowerShell 版本过低
一般Windows7默认安装的是PowerShell 2.0 使用Vs2017开发.Net Core时.使用 EntityFrameworkCore Db First自动生成实体时需要用到下面命令: ...
- Git远程协作和分支
一.远程基本操作 基本的配置远程仓库有两个命令: git remote add origin git@github.com:ZXZxin/gitlearn.git : git push -u orig ...
- SpringBoot源码解析:创建SpringApplication对象实例
上篇文章SpringBoot自动装配原理解析中,我们分析了SpringBoot的自动装配原理以及@SpringBootApplication注解的原理,本篇文章则继续基于上篇文章中的main方法来分析 ...
- JDBC注册驱动程序3种方式
以MySQL的驱动为例,介绍注册驱动程序的3种方式 1:Class.forName("com.mysql.cj.jdbc.Driver");// 加载数据库驱动 package c ...
- Keras 训练一个单层全连接网络的线性回归模型
1.准备环境,探索数据 import numpy as np from keras.models import Sequential from keras.layers import Dense im ...
- LOJ 3156: 「NOI2019」回家路线
题目传送门:LOJ #3156. 题意简述: 有一张 \(n\) 个点 \(m\) 条边的有向图,边有两个权值 \(p_i\) 和 \(q_i\)(\(p_i<q_i\))表示若 \(p_i\) ...