1

使用以下代码,我可以毫无问题地插入/编辑记录。我的表单视图显示了除选择字段“率”之外的所有字段。树视图也将速率字段显示为未定义。我的数据库为 rate 字段保存正确的值。我可以知道这个问题的根本原因以及如何克服这个问题。

.py 文件在这里给出

from osv import osv
from osv import fields

class test_base(osv.osv):
     _name='test.base'
     _columns={
           'name':fields.char('Name'),
           'email':fields.char('Email'),

           'code':fields.integer('Unique ID'),
            sal':fields.float('Salary'),
           'rate':fields.selection(((10,'10'), (20,'20'),(30,'30')),
           'Percentage of Deduction'),
           'ded':fields.float('Deduction'),
           'bdisplay':fields.float('Button Display'),

           }

    def on_change_ded_cal(self, cr, uid, ids,rate,context=None):
        x=rate*2
        return {'value':{'ded':x }}


test_base() 

我的 XML 是

   <record model="ir.ui.view" id="test_base_form">
       <field name="name">test.base.form</field>
           <field name="model">test.base</field>
           <field name="type">form</field>
           <field name="arch" type="xml">
               <form string="Test Base">                       
                   <field name="name"/>
                   <field name="email"/>
                   <field name="code"/>
                   <field name="sal"/>
                   <field name="rate" on_change="on_change_ded_cal(rate,sal,ded)"/>
                   <field name="ded"/>                       
                   <field name="bdisplay"/> 
                  <button name="my_button_display" string="Calculate" type="object"/>
                     <newline />
                     <newline />
                     <newline />
                    <field name="skillid"  colspan="4"  nolabel="1"/>                          
                  </form>
          </field>
    </record>
    <record model="ir.ui.view" id="test_base_tree">
        <field name="name">test.base.tree</field>
        <field name="model">test.base</field>
        <field name="type">tree</field>
        <field name="arch" type="xml">
            <tree string="Test Base">               
               <field name="name"/>
                <field name="email"/>
                <field name="code"/>
                <field name="sal"/>          
                <field name="ded"/> 
                <field name="rate"/>    
            </tree>
        </field>
    </record>
4

1 回答 1

2

在此处输入图像描述对于您的选择字段,您必须这样写:

您在选择字段中错过了字符串

rate':fields.selection([(10,'10'), (20,'20'), (30,'30')],'Rate'),

希望这有帮助

于 2014-01-16T11:54:51.947 回答