2016-01-21 70 views
0

對於sequence字段,我設置了只讀選項1,當我嘗試更改on_change方法中的值時,我點擊保存按鈕後該值被刪除。
這是我的代碼:如何在openerp中設置字段只讀,並通過on_change方法更改值

<record id="view_attachment_form_inherit" model="ir.ui.view"> 
     <field name="name">ir.attachment.inherit</field> 
     <field name="model">ir.attachment</field> 
     <field name="inherit_id" ref="base.view_attachment_form"/> 
     <field name="arch" type="xml"> 
      <field name='name' position="after"> 
       <field name='sequence' readonly='1'/> 
       <group> 
        <field name='number' on_change='number_change(number)'/> 
       </group> 
      </field> 
     </field> 
    </record> 

Python代碼:

def number_change(self, cr, uid, ids, number, context=None): 
    # do test for this number 
    return {'value': {'sequence': 'new sequence'} } 

如何更改保存呢?

回答

2

只讀字段不會被Web客戶端發送回後端(因爲它們只讀,它們不會改變)。

解決方法是隱藏'sequence'字段,並刪除readonly =「1」屬性。

如果您仍想查看序列的值,請在您的模型中添加一個虛擬字段「sequence_ro」,您可以使用readonly ='1'顯示該字段,然後在onchange方法中進行更新。

+0

非常感謝。 – Zety

相關問題