Inheritance 在Openerp中继承类并修改列

Inheritance 在Openerp中继承类并修改列,inheritance,openerp,Inheritance,Openerp,我正在Openerp中处理一个模块,我想从另一个模块继承一个类,但我不需要另一个类中的每一列 这是我的班级: class BookingManagement(orm.Model): _name = 'booking.management' _inherit = 'res.partner.address.contact' _description = 'Booking management' _columns = { 'guests': fie

我正在Openerp中处理一个模块,我想从另一个模块继承一个类,但我不需要另一个类中的每一列

这是我的班级:

class BookingManagement(orm.Model):
    _name = 'booking.management'

    _inherit = 'res.partner.address.contact'

    _description = 'Booking management'

    _columns = {
        'guests': fields.integer('Number of guests', required=True),
        'check_in': fields.date('From', required=True),
        'check_out': fields.date('To', required=True),
        'special_requests': fields.text('Special requests')
    }
这是res.partner.address.contact

假设我只需要“姓氏”、“名”、“电子邮件”和“手机”
我该怎么做?

谢谢大家!

在Odoo中,有两种类型的继承可以使用。 第一个是通过设置来获得的(就像您所做的那样)

结果是两个表,原始表(res_partner_address_contact)不变,而您的表(booking_management)包含您声明的四个字段以及第一个表的ID(您也需要声明此字段)

第二个是通过声明

_name = 'res.partner.address.contact'

_inherit = 'res.partner.address.contact'
结果是表res\u partner\u address\u contact和您声明的额外字段


也就是说,你不能得到一个只有四个字段的表。这是一种全有或全无的情况。

如果您需要继承
'res.partner.address.contact'
,只需使用
姓氏、名、电子邮件和“手机”
就可以像您那样继承并将它们添加到xml视图中,因为您在编写时指定了
'res.partner.address.contact'

如果您想要一个
联系人
信息,请使用
One2many
链接多个联系人或
manyOne
链接一个联系人

_name = 'booking.management'

_inherit = 'res.partner.address.contact'
_name = 'res.partner.address.contact'

_inherit = 'res.partner.address.contact'