将输入字段插入数据库

时间:2014-03-14 09:42:21

标签: database openerp user-input sql-insert openerp-7

HI伙计我有两个字段代码和名称我想插入用户填写表单时输入的数据库(我使用向导)

的.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/

2 个答案:

答案 0 :(得分:0)

在openerp 7中,不推荐使用osv.osv,您可以使用orm.Model

Here 指导行为openerp写一个好的代码。

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

答案 1 :(得分: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我使用

我查询插入数据库。

请勾选此解决方案以解决我的问题