转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281320.html

一:向导及其效果

向导类似于弹窗,用于接收用户的输入,然后作出相应的处理。

二:定义向导模型

class XXWizard(models.TransientModel): //要点1:使用瞬态模型
    _name = 'xx.wizard'
    _order = 'id asc'

    字段 = fields.类型(u'字段名') //要点2:这些字段在弹窗中由用户赋值

    @api.model
    def default_get(self, default_fields):
        """
        为向导赋默认值。
        """
        result = super(XXWizard, self).default_get(default_fields)

        result.update({
                '字段': 默认值,
            })
        return result

    @api.multi
    def action_XX(self, url):
       """
       向导按钮的点击函数。
       """
       pass

三:定义向导视图

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
    <data>
        <record id="view_wizard_form" model="ir.ui.view">
            <field name="name"></field>
            <field name="model"></field>
            <field name="arch" type="xml">
                <form>
                    <group>
                        <field name="字段"/>
                    </group>

                    <footer>
                        <button name="action_XX" type="object" string="按钮文本" class="oe_highlight"/>
                        <button string="取消" class="oe_link" special="cancel"/>
                    </footer>
                </form>
            </field>
        </record>

        <record id="action_wizard" model="ir.actions.act_window">
            <field name="name"></field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model"></field>
            <field name="view_type">form</field>
            <field name="view_mode">form</field>
            <field name="target">new</field>
        </record>

    </data>
</odoo>
05-11 12:49