OpenERP的开发中,有如下一些重要概念

来源:互联网 发布:php soapclient 安装 编辑:程序博客网 时间:2024/05/01 04:10
 对象或模型(Object or Model):是一个Python的Class,也对应到数据库的一张数据表,负责存取数据记录(Record),有Search、Read、Write等方法。OpenERP在模块加载时,初始化模块中的所有对象,放入对象池。因此,数据库操作时,通常是先从对象池中取得对象,再调用对象的方法。下面分析一段典型的记录查找和读取代码。 def _get_admin_id(self, cr): if self.__admin_ids.get(cr.dbname) is None: ir_model_data_obj = self.pool.get('ir.model.data') mdid = ir_model_data_obj._get_id(cr, 1, 'base', 'user_root') self.__admin_ids[cr.dbname] = ir_model_data_obj.read(cr, 1, [mdid], ['res_id'])[0]['res_id'] return self.__admin_ids[cr.dbname]
这段代码来自文件server\addons\base\res\ res_user.py,它先从对象池取得对象'ir.model.data',该对象负责存取数据表ir_model_data。而后调用该对象的方法_get_id取得admin用户的user_id,再读入admin对应的user记录的id。

 视图(View):负责显示数据,最常见的视图是列表视图和表单视图。此外,还有看板、日历、甘特图、图形、流程图等几种视图,不同的视图以不同的方式展示数据。本章主要介绍列表和表单,另外几种视图以后介绍。

 菜单(Menu):这个很直观,不用介绍了。
 动作(Action):用户操作系统时(如点击菜单、点击画面右边的工具条上的按钮等),系统的响应动作。一个Action包含一个对象,包含若干个视图,通常每个Action都包含列表和表单两个视图。当Action被触发时,相应的视图被调出,展示相应的对象的数据。Action有多种类型,最常见的是Act_Window(窗口类型),窗口类型跳出一个窗口以显示数据。此外还有Report(报表)、Wizard(向导)等类型。本章主要介绍窗口类型。

上述概念间的关联关系,参见如下操作序列图:
例如,当打开一个财务凭证时(对象account.invoice),客户端发生的动作链是:
1) 激发一个Action,Action要求打开account.invoice对象。Action中包含了对象、视图、域条件(Domain, 如只显示未支付的凭证)等数据。
2) 客户端询问服务端(通过XML-RPC协议)凭证对象定义了哪些视图,以及应显示什么数据。
3) 客户端呈现视图,展示数据.

0 0
原创粉丝点击