This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.

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”时,我们应该这样写::

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

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

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

对于开发者来说:

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

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

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

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