在openerp中刷新页面时,Treeview不包含记录?
我在我的notebook
元素的一个页面上添加了一个树形视图。在往树形视图里添加数据时,这些数据会保存到数据库里,并且在树形视图中也能看到。但是当我刷新页面时,树形视图里的数据就消失了,变成空的了。
代码大致是这样的:
<field name="arch" type="xml">
<notebook colspan="4">
<page string="Block Area">
<field colspan="4" name="block_line" nolabel="1" mode="tree,form">
<tree string="Block">
<field name="blockname" />
<field name="size" />
<field name="activefrom" />
<field name="activethru" />
<field name="active" />
</tree>
</field>
</page>
</notebook>
</field>
2 个回答
0
请检查一下你是否没有为字段 'block_line' 的模型写任何搜索过滤条件。因为你在 block_line 中添加了 active 字段,所以只会显示活跃的记录。因此,你需要检查一下 active 字段,或者提供一些数据。
1
正如Don Kirkby所说,首先,你需要检查他提到的所有条件。
另外,从我的角度来看,你的树形视图中有一个一对多字段“block_line”,对于这个字段,你需要检查以下条件。
在Python中:
这个字段应该引用一个多对一字段(你可以称之为block_id),这个字段在你的一对多类中。
在XML中:
多对一字段(block_id)应该出现在一对多的树形视图和表单视图中(可以是可见或不可见)。
保存记录:
在保存一对多行记录时,适当的表单ID(当前记录的ID)必须存储在多对一字段中。
如果在保存时没有存储这个ID,那么在数据库中会有一对多的记录,但在你的树形视图中不会显示,因为在一对多类中没有存储多对一的引用ID(或者存储了错误的多对一 ID),这样就无法显示相关的一对多记录。
在你的情况下,如果数据库中有数据但在树形视图中不显示,那么你需要检查上述情况。
注意:可以参考sale.order和sale.order.line类以获取更多细节。