RPC和Web客户端调用的方法

来自Odoo大V社-odoo中文开发手册
1360857908讨论 | 贡献2017年5月28日 (日) 22:44的版本 (创建页面,内容为“我们已经看到了用于生成记录集最重要的模型方法,以及如何对它们进行写入。但是,有更多的模型方法可以用于更具体的操...”)

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

我们已经看到了用于生成记录集最重要的模型方法,以及如何对它们进行写入。但是,有更多的模型方法可以用于更具体的操作,如下所示︰

 read(fields)与browse方法类似,但它不是一个记录集,而是返回一个包含作为其参数的字段的数据行列表。每行是一个字典。它提供了可以通过RPC协议发送表示数据的序列化,它的目的是供客户机程序使用,而不是在服务器逻辑中使用。

 search_read([domain], [fields], offset=0, limit=None, order=None) 执行搜索操作,然后在结果记录列表中读取。它的目的是为RPC客户端使用,并为他们省去进行search时所需要的read结果上额外往返行程。

 load([fields], [data]) 用于从CSV文件中导入数据。第一个参数是要导入的字段列表,它直接映射到CSV 第一行。第二个参数是一个记录列表,其中每个记录都是一个用于解析和导入的字符串值列表,它直接映射到CSV数据行和列。它实现了在第4章、模块数据中描述的CSV数据导入的特性,就像外部标识符支持一样。它被web客户端导入特性使用。它取代了已弃用的import_data方法。

 export_data ([字段] raw_data = False) 被web客户端导出函数使用。它返回一个包含数据的数据键的字典;一个行列表。字段名可以使用。在CSV文件中使用的id和/id后缀,数据的格式与可导入的CSV文件兼容。可选的rawdata参数允许使用它们的Python类型导出数据值,而不是CSV中使用表示的字符串。

下面的方法主要用于web客户端来呈现用户界面和执行基本的交互︰

 name_get()︰ 这将返回每条记录(ID、name)的文本元组。它被默认用于计算displayname值,提供关联字段的表示广本。可以扩展它来实现显示自定义,例如显示记录代码和名称,而不是只显示名称。

 name_search(name=,args=None, operator='ilike',limit=100) 返回一个(ID、name)元组的列表,其中显示名与name参数中的文本匹配。它在UI中使用,建议同时在一个关系字段中输入文本匹配的记录。例如,它被用于在一个字段中输入一个产品时,通过名称和引用来实现产品查找。

 name_create(name) 创建一个新的记录,只使用标题名称来使用它。它在UI中用于“快速创建”功能,您可以通过提供它的名称来快速创建相关记录。可以通过扩展来为通过该特性创建的新记录提供特定的缺省值。。

 default_get([fields]) 返回一个包含创建新记录的默认值字典。默认值可能取决于当前用户或会话上下文等变量。

 fields_get()用于描述模型的定义字段,如在开发人员菜单的View Fields字段选项中所看到的那样。

 fields_view_get()web客户端使用它来检索要呈现UI视图的结构。可以将视图的ID作为参数或我们想要使用view_type='form'。例如,你可以试试这个︰rset.fields_view_get(view_type='tree')。