Python 如何使一个列表视图中的不同记录直接指向odoo 10中的不同表单视图
我正在为以下情况寻找更好的解决方案:Python 如何使一个列表视图中的不同记录直接指向odoo 10中的不同表单视图,python,odoo,Python,Odoo,我正在为以下情况寻找更好的解决方案: 物体A1,A2,A3。。。它们具有相同的属性:a01、a02、a03。。。a0n 它们也有不同的属性: A1有a10,a11,a12,…,a1n, A2有a20、a21、a22等。。。。a2n, A3有a30、a31、a32等。。。。a3n, An有an0,an1,an2。。。。安, 以下是预期结果: 一个列表视图显示属性a01、a02、a03等的值。。。所有对象的a0n(A1、A2、A3、An)。 单击列表视图中的记录时,将打开并显示该对象的表单 例如:
物体A1,A2,A3。。。它们具有相同的属性:a01、a02、a03。。。a0n
它们也有不同的属性:
A1有a10,a11,a12,…,a1n,
A2有a20、a21、a22等。。。。a2n,
A3有a30、a31、a32等。。。。a3n,
An有an0,an1,an2。。。。安,
以下是预期结果:
一个列表视图显示属性a01、a02、a03等的值。。。所有对象的a0n(A1、A2、A3、An)。
单击列表视图中的记录时,将打开并显示该对象的表单
例如:
我们有3项记录:
从对象A1记录1
从对象A2记录2
从对象A3记录3
因此,在列表视图中,属性的值:
a01、a02、a03。。。a0n
将显示所有三条记录中的一条
点击记录1,打开对象A1的表单,显示属性a10、a11、a12、…、a1n的值
单击记录2时,将打开对象A2的窗体,并显示属性a20、a21、a22、…、a2n的值。
换句话说,一个列表视图将指向不同的表单视图。
我目前的解决方案是将所有属性合并到一个模块或类中,所有数据都在一个表中
单击列表视图中的不同记录时,会显示相同的表单,大多数属性都被隐藏,看起来显示的是不同的视图
单击记录A1、a10、a11、a12。。。显示a1n,以及a20、a21、a22等。。。。a2n,an1,an2。。。。安,你躲起来了。
此解决方案的问题是,一个模块中的属性数量越来越大,需要隐藏的属性越来越多。
你有没有更好的办法呢?你知道树视图只需要一个模型 在合并模型中添加公共字段、模型名称以及原始模型中记录的id,而不是添加“所有”字段<代码>(模型名称,记录id)显示包含按钮“显示记录”的树状视图该按钮调用一个方法来打开已单击的记录,但模型返回的活动字典
return {
'type': 'ir.actions.act_window',
.......
........
'view_ode': 'form', # show the record in form view
'res_model' : self.model_name,
'res_id' : self.record_id,
}
这样,您始终可以显示原始模型的原始表单视图。合并模型只需要一个树视图
不要显示mergin模型的表单视图,您需要强制用户单击树视图中的按钮
<field name="view_mode">tree</field>
树
我在用我的手机,我的英语很抱歉非常感谢,这将解决大部分问题。