Openerp 奥多,可以';t在同一视图中没有两个不同的同级对象

Openerp 奥多,可以';t在同一视图中没有两个不同的同级对象,openerp,odoo-10,siblings,Openerp,Odoo 10,Siblings,我有一个名为detail\u base的类,还有另外两个名为flight\u detail和tour\u detail的类,最后两个类继承自第一个类,如下所示: class DetailBase(models.Model): _名称='detail_base' 费用=字段。货币(‘费用’) 乘客=字段.Char('passenger') 类FlightDetail(models.Model): _名称='航班详细信息' _继承='detail\u base' passport=fields.Ch

我有一个名为detail\u base的类,还有另外两个名为flight\u detailtour\u detail的类,最后两个类继承自第一个类,如下所示:

class DetailBase(models.Model):
_名称='detail_base'
费用=字段。货币(‘费用’)
乘客=字段.Char('passenger')
类FlightDetail(models.Model):
_名称='航班详细信息'
_继承='detail\u base'
passport=fields.Char('passport')
类别详细信息(models.Model):
_名称='tour_detail'
_继承='detail\u base'
年龄=字段。整数(‘游客年龄’)
问题是,当我在同一个视图中调用航班详情巡更详情时,浏览器无法处理这两个类的公共属性,如果我将5分配给航班详情.fee,则该数字将存储到航班详情.fee中

问题似乎与同名不同对象的属性有关


我将非常感谢您的帮助。

您应该使用
\u继承

类DetailBase(models.AbstractModel):
_名称='detail_base'
费用=字段。货币(‘费用’)
乘客=字段.Char('passenger')
类FlightDetail(models.Model):
_名称='航班详细信息'
_继承='detail\u base'
passport=fields.Char('passport')
类别详细信息(models.Model):
_名称='tour_detail'
_继承='detail\u base'
年龄=字段。整数(‘游客年龄’)
它应该创建3个数据库表(
detail\u base
as
Model
)或2个数据库表(
AbstractModel

或者使用
\u继承
,例如:

class DetailBase(models.Model):
_名称='detail_base'
费用=字段。货币(‘费用’)
乘客=字段.Char('passenger')
类FlightDetail(models.Model):
_名称='航班详细信息'
_继承={'detail_base':'base_id'}
passport=fields.Char('passport')
base\u id=fields.manyOne('detail\u base',required=True,ondelete='cascade')
类别详细信息(models.Model):
_名称='tour_detail'
_继承={'detail_base':'base_id'}
年龄=字段。整数(‘游客年龄’)
base\u id=fields.manyOne('detail\u base',required=True,ondelete='cascade')
这将创建3个表,
fee
passenger
将存储在
detail\u base
表中。Odoo将从那里获得它,因为它是一种委托继承。

使用继承:

1-继承而不使用_名称:

inherit='model.name'
新建字段=字段。。。
这会将此字段添加到
model.name

2-使用_名称继承:

inherit='model.name'
_name='new.model'
这里将在数据库中创建一个与model.name结构相同的新选项卡

继承:委托继承

最好的例子是
res.users
res.partners
用户是合作伙伴,所以当我们创建
res.users
记录时,我们必须创建一个
res.partener
,它包含诸如姓名、电子邮件、地址等公共字段。。。与用户相关的信息,如passowrd和login,存储在
res.users
model中,通过继承类型,您可以直接访问res.partener的字段,而无需创建相关字段。您可以执行
user\u记录。姓名
电子邮件
地址
这不会是问题

我喜欢把它看作一种关系

\u inherits={model.name:manyOne\u field\u id}
_name='new.model'
#m2o字段应为必填字段,ondelete=级联
manyOne\u field\u id=fields.manyOne('model.name',string='Label',required=True,ondelete=“cascade”)

因此,当您创建new.model的记录时,
model.name
中的所有字段都将存储在
model.name

我只能接受一个答案,而你的答案与第一个答案非常相似,如果我能接受这两个答案,我会接受的,但我真的很感谢你的时间。