0

嗨伙计们我有两个字段代码和名称我想在用户填写表单时将其插入数据库中(我使用向导)

.py

class cria_edita_recinto(osv.osv):

_name='cria.edita.recinto'
_description = 'Cria e Edita Recinto'
_rec_name='code'
_columns={

        'code':fields.char("Código",size=10),
        'name':fields.char("Designação",size=50)
        }

_sql_constraints = [
    ('code', 'unique(code)', 'O codigo do recinto deve ser unico')
]
_order = 'code'


def insert_recinto(self,cr, uid,vals, context=None):


    lista=vals.values()
    code=lista[0]


    cr.execute("INSERT INTO gs_recintos (code,name) VALUES (%s,'jt')" %(code)) 
    return True

cria_edita_recinto()

.xml

<record model="ir.ui.view" id="cria_edita_recinto_form">

   <field name="name">cria.edita.recinto.form</field>

       <field name="model">cria.edita.recinto</field>

       <field name="arch" type="xml">

           <form string="cria edita recinto" version="7.0">
    <group string=" ">
        <field name="code"/>
        <field name="name"/>


            </group>
      <footer>
            <button name="insert_recinto" string="Configurar Pisos" type="object" class="oe_highlight"/>
            ou
            <button string="Cancelar" class="oe_link" special="cancel"/>
      </footer>

       </form>

       </field>

</record>

我有一张图片,如果你能帮忙看看这里

http://help.openerp.com/question/46472/insert-into-database-the-input-fields/

4

2 回答 2

0

我解决了这个问题......

<group string=" ">
<field name="code"/>
<field name="name"/>
<field name="nameBilhetes"/>
<field name="recinto_id" on_change="insert_piso(code,name,nameBilhetes,recinto_id)"/>   
</group>

我使用 on change 方法和我使用的 .py

我查询插入数据库。

请用打勾标记这个答案这个解决方案解决了我的问题

于 2014-03-17T09:31:29.783 回答
0

在 openerp 7 osv.osv 已弃用,您可以使用 orm.Model

这里是为 openerp 编写好的代码的指南。

您发布的类是一个模块类,但是如果您要使用向导编写记录,则需要在向导类而不是模型类中插入 insert_recinto 方法。在您的向导 insert_recinto 方法之后,您可以使用 orm 方法写入数据,例如 your_class_object.write(cr,uid,id,vals,context)。

于 2014-03-14T10:16:50.487 回答