OpenERP 对象

简介

我们可以通过 对象 访问所有ERP的数据。举个例子,可以通过 res.partner 对象访问 合作伙伴 相关的数据,通过 account.invoice 对象访问 发票 相关的数据。

请注意的是,每种类型的资源是一个对象,而不是每个资源是一个对象。我们可以使用res.partner对象来管理所有的partners,而不是每个partner用一个res.partner对象来表示。当我们说“object oriented”术语时,其实说的是每级有个对象(an object per level)。

直接的后果是,对象的所有方法都有一个共同的参数:参数“ids”。这个资源特别指定的方法必须被使用。准确的是,必须使用的这个方法的参数包括着资源ids的列表。

例如,我们有两个标识为1和5的合作伙伴,当我们想要调用res_partner的方法“send_email”时,我们应该这样写::

  1. res_partner.send_email(... , [1, 5], ...)

我们在这份文档中将会看到更多具体的对象方法调用的语法。

在下面的章节中,我们将会看到如何定义一个新对象。然后,我们会检验定义新对象所使用的不同方法。

对于开发者来说:

  • OpenERP “object”在面向对象编程中经常被成为类(class)。

  • 一个OpenERP “resource”在面向对象编程中经常被称为一个对象,一个类的实例。

当你试图在OpenERP中编程时会有些困惑,因为使用的是Python语言,而Python语言是一种完全的面向对象语言。它有对象和实例…

我们感到幸运的是,OpenERP“resource”当使用“browse”类方法(OpenERP object method)时,可以神奇的转变成一个Python对象。