1

次のコードを使用すると、trecord を問題なく挿入/編集できます。私のフォーム ビューには、選択フィールドである「レート」以外のすべてのフィールドが表示されます。また、ツリー ビューではレート フィールドが未定義として表示されます。私のデータベースは、率フィールドの正しい値を保持しています。この問題の根本的な原因と、この問題を解決する方法を教えてください。

.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 に答える