我创建了一个动作类型的按钮。此按钮调用操作,此操作调用表单。这个表单完全由我创建,并且有一个创建按钮,该按钮调用创建函数,直接继承自 orm.Model (我没碰过它)。
当我点击创建时,记录完美地存储在数据库中,但后来我收到此错误:
文件 " /opt/openerp7/openerp_70_ocb_devel/ocb-server/openerp/osv/orm.py" ;, 第4342行,在创建中 如果vals.pop(f,None)不是None:TypeError:pop()最多需要1个参数(给定2个)
我正在寻找 vals 的内容,当我点击按钮时,创建方法似乎被调用了两次。第一次, vals 将记录的值带到字典中(好的),第二次带来列表中生成的新记录的ID,并引发错误。
我想知道为什么会发生这种情况以及如何解决这个问题。我把代码留在了这里:
调用操作的按钮:
<button name="%(res_partner_extended.action_create_res_partner_link_category)d" string="Link to category" type="action"/>
行动:
<record id="action_create_res_partner_link_category" model="ir.actions.act_window">
<field name="name">Link to a new category</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner.link.category</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="res_partner_link_category_create_form_view"/>
<field name="target">new</field>
</record>
表单,以及获取错误的按钮:
<record id="res_partner_link_category_create_form_view" model="ir.ui.view">
<field name="name">res.partner.link.category.create.form</field>
<field name="model">res.partner.link.category</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Linked category" version="7.0">
<group>
<group col="2">
<field name="partner_id" readonly="1" options="{'no_open': True,}"/>
<field name="link_category_id" required="1" options="{'no_open': True}"/>
<field name="type" required="1"/>
</group>
<group col="2">
<field name="date" required="1"/>
<field name="observations"/>
</group>
</group>
<footer>
<button name="create" string="Create" type="object" class="oe_highlight"/>
or
<button string="Discard" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>