在openerp中同时使用表单视图和树视图的one2many列表

3 投票
5 回答
12170 浏览
提问于 2025-04-17 03:46

我有个小问题。我现在正在做的一个模块需要我插入一组字段和一个树形视图,当我在表单中输入数据时,这个树形视图会更新。

<field name="lines" widget="one2many_list" colspan="4" nolabel="1">
    <tree>
        <field name="product_id"/>
        <field name="product_qty"/>                                
    </tree>
    <form>
        <field name="product_id"/>
        <field name="product_qty"/>
    </form>
</field>

上面是我视图中的一段代码,能不能在同一页面上同时显示表单视图和树形视图呢?

比如说:

==============

表单字段

树形视图

这样的话,我就可以直接在上面的表单中添加记录到树形视图,而不需要点击新记录的图标来保存它们。

请给点建议。

谢谢!

5 个回答

1

这只是个想法,但也许这个设计可以解决你的问题。假设你有一个“订单”对象,里面有很多“产品行”:

  1. 在“产品行”上创建一个多对多字段,链接到它自己,使用一个叫做 parent_id 的字段。
  2. 为“产品行”对象创建一个表单,里面包含产品的 ID 和数量。
  3. 在表单中添加一个基于多对多字段的树形列表。

这样做可以解决问题吗?

4

在树形视图中,有一个叫做'editable'的属性。你可以使用editable='top'或者editable='bottom'。

<field name="lines" widget="one2many_list" colspan="4" nolabel="1">
    <tree editable='bottom'>
        <field name="product_id"/>
        <field name="product_qty"/>                                
    </tree>
    <form>
        <field name="product_id"/>
        <field name="product_qty"/>
    </form>
</field>
3

我觉得你是在问有没有办法在树形视图中添加或编辑记录,而不需要为每条记录都弹出一个窗口。

有些视图确实可以直接在树形视图中编辑。比如说,产品页面上的供应商价格列表就是一个例子。还有一个例子是在会计部分的“按移动编码的条目”。如果你查看一下源代码,可能就能搞明白他们是怎么做到的。

撰写回答