2012-11-20 74 views
0

我在另一個樹表中有一個樹表。在編輯時,嵌套表格正確顯示在單元格內。但是當我查看這些值時,單元格中只有用逗號分隔的id(而不是嵌套表格)。如何在單元格中顯示錶格或在查看模式下顯示至少格式化的值?在樹中顯示one2many的值

嵌套表:

<record id="view_mrp_repair_line_item_tree" model="ir.ui.view"> 
    <field name="name">mrp.repair.line.item.tree</field> 
    <field name="model">mrp.repair.line.item</field> 
    <field name="type">tree</field> 
    <field name="arch" type="xml"> 
     <tree string="Repair line items" editable="bottom"> 
      <field name="description" /> 
      <field name="price" /> 
     </tree> 
    </field> 
</record> 

父表:從嵌套表

<field colspan="4" mode="tree" name="operations" nolabel="1" widget="one2many_list"> 
    <tree string="Operations" editable="bottom"> 
     ... 
     <field name="items" context="{'default_repair_line_id':active_id}" widget="one2many_list" /> 
    </tree> 
</field> 

型號:

class mrp_repair_line_item(osv.osv): 
    _name = 'mrp.repair.line.item' 

    _columns = { 
     'repair_line_id': fields.many2one('mrp.repair.line', 'Repair Line', required=True), 
     'description': fields.char('Description', required=False, size=160), 
     'price': fields.float('Price', required=False) 
    } 

mrp_repair_line_item() 

回答

1

您可以創建一個返回一個字符串的功能領域代表值並顯示該字段。例如:[description1: Price1], [description2: Price2], ...

+0

感謝您的回覆。我忘了告訴(但代碼示例中顯而易見),我在行('editable =「bottom」')中使用了編輯。所以如果我沒有弄錯,我不能爲編輯模式和視圖模式定義兩個不同的視圖。按照您的說法創建功能字段時,它在編輯和查看模式下均可見,並且不可編輯。我對嗎?顯示id而不是表格是否正常? – ziri

+0

您可以定義一個函數'fnct_inv',通過解析字符串並修改one2many對象來實現函數字段的寫入操作。這樣,該字段將是可編輯的。爲了簡化編輯和解析,您可以使用類似字典的格式:'description1:Price1,description2:Price2,...' –