odoo 动态创建字段的方法
动态创建字段并非一个常见的的需求,但某些情况下,我们确实又需要动态地创建字段。
Odoo 中创建字段的方法有两种,一种是通过python文件class中进行定义,另一种是在界面上手工创建,odoo通过state字段对这两种类型的字段进行区分。
通过界面创建的字段必须以x_开头。
笔者曾经试图通过python文件来动态创建base类型的字段,结果没有找到合适的方法。但是苦思冥想好久之后发现可以通过动态创建manual字段来达到这个目的。
应用:
国内人力资源应用中经常需要统计每个人的工资总表,而工资的构成是灵活动态的(虽然可以固定下来,但是一旦变动又要修改模块代码),这样想要汇总一个总表就变得非常困难,
利用动态创建字段的方法就非常容易的达到这个目的:

表中的工资构成是动态的 one2many ,不修改代码实现汇总总表:

odoo 动态创建字段的方法的更多相关文章
- Visual c++例子,可不使用常规的对话框资源模板的情况下,动态创建对话框的方法
		详细说明:Visual c++例子,可不使用常规的对话框资源模板的情况下,动态创建对话框的方法.该方法可以在运行时在内存中直接建立对话框资源,使用起来更为灵活.适用于多个开发项目共享有界面的公用程序模 ... 
- 内存表 FDMemTable ClientDataSet  CreateDataSet 动态创建字段
		https://community.embarcadero.com/index.php/blogs/entry/firedac-in-memory-dataset-tfdmemtable Client ... 
- python-获取类名和方法名,动态创建类和方法及属性
		获取类名和方法名1.在函数外部获取函数名称,用.__name__获取2.在函数内部获取当前函数名称,用sys._getframe().f_code.co_name方法获取3.使用inspect模块动态 ... 
- vue+el-element中根据文件名动态创建dialog的方法
		背景 在项目中使用对话框的通常做法是把对话框封装成组件,在使用的地方引入,然后添加到template,使用visible.sync控制对话框的显示/隐藏,监听confirm事件处理用户点击确定.如下: ... 
- java动态代理——字段和方法字节码的基础结构及Proxy源码分析三
		前文地址:https://www.cnblogs.com/tera/p/13280547.html 本系列文章主要是博主在学习spring aop的过程中了解到其使用了java动态代理,本着究根问底的 ... 
- DevExpress GridControl 动态创建字段及主细关系表过程
		原文地址:http://hi.baidu.com/qdseashore/item/38f1153e9d0143637d034b7a 在做项目中,往往需要在查询基类模板窗口内做主细关系Grid,引用一下 ... 
- C#动态创建和动态使用程序集、类、方法、字段等
		C#动态创建和动态使用程序集.类.方法.字段等 分类:技术交流 (3204) (3) 首先需要知道动态创建这些类型是使用的一些什么技术呢?其实只要相关动态加载程序集呀,类呀,都是使用反射,那么动 ... 
- silverlight依据json字符串动态创建实体类
		1.接收json字符串: //用JsonValue转换json字符串是为了之后获得json字符串的每行数据和每一列的列名 JsonValue jv = JsonValue.Parse(json); ... 
- StructureMap.dll 中的 GetInstance 重载 + 如何利用 反射动态创建泛型类
		public static T GetInstance<T>(ExplicitArguments args); // // Summary: // Creates a new instan ... 
随机推荐
- 接着上一篇 《Is WPF dead》
			最近美国的PM传来消息,说微软在收集开发者的意见,会对WPF进行改进,微软会主要在1) performance 2) interop 3) touch and 4) access to WinRT A ... 
- 汇编学习(一)——win7 64位调出debug
			一.安装方法: 1.下载一个dosbox和win7 32位debug.exe,安装dosbox,打开页面 2. 将debug.exe放入磁盘根目录,这里以D盘为例.在dosbox中输入mount c ... 
- Liferay 6.2 改造系列之二十三:修改Liferay原始主题中"技术支持:Liferay"字样
			1.修改主题模板文件,具体位置如下 (1) portal-master\portal-web\docroot\html\themes\_unstyled\templates\portal_normal ... 
- Android Studio 引入Lambda表达式
			依次点击 [File][Other Settings][Default Project Structure]确保当前项目使用的JDK版本是1.8. 打开项目(Project)的build.gradle ... 
- java.net.SocketException: No buffer space available
			https 访问url在调用量不大的情况下 java.net.SocketException: No buffer space available (maximum connections reach ... 
- BZOJ 3542 [Poi2014]Couriers ——可持久化线段树
			[题目分析] 查找区间内出现次数大于一半的数字. 直接用主席树,线段树上维护区间大小,由于要求出现次数大于一半,每到一个节点可以分治下去. 时间复杂度(N+Q)logN [代码] #include & ... 
- 关于本地存储构成数组以及jquery的inArray方法的使用
			for (var i=0, j = _self.sessionStorage.length; i < j; i++){ var key = _self.sessionStorage.key(i) ... 
- Rectangle(csu)
			Description Now ,there are some rectangles. The area of these rectangles is 1* x or 2 * x ,and now y ... 
- 创建com服务器
			Delphi Com深入编程 第二章: 
- Service Provider模式
			参考文章:[http://blog.csdn.net/zl3450341/article/details/7227197] Service Interface:服务接口,将服务通过抽象统一声明,供客户 ... 
