Odoo13_向导应用之软删除

  后端定义:

class Fake_del_wizard(models.TransientModel):
    _name = 'fake_del_wizard'
    _description = "假删除向导!"

    # 想到内可以定义一些变量,供向导使用
    task_ids = fields.Many2one('dub_receive_money',string='查款')

    # 点击确定后要执行的函数
    def btm_confirm(self):
        # 从上下文中获取记录的id,然后查询得到该条记录的对象
        receive_data = self.env['dub_receive_money'].search([('id', '=', self.env.context.get('active_id'))])
        # 将查询除了的对象的假删除字段设置未True
        receive_data.fake_del = True

  前端form视图:

    <record id="fake_del_wizard_form" model="ir.ui.view">
        <field name="name">假删除向导</field>
        <field name="model">fake_del_wizard</field>
        <field name="arch" type="xml">
            <form>
                你确定要删除这个查询吗?
                <footer>
                    <button name="btm_confirm" string="确认" type="object" class="oe_highlight"/>
                    <button special="cancel" string="取消" class="oe_link"/>
                </footer>
            </form>
        </field>
    </record>

  删除动作:

    <record id="action_change_stage_ttest_inv" model="ir.actions.act_window">
        <field name="name">假删除动作</field>
        <field name="res_model">fake_del_wizard</field>
        <field name="view_mode">form</field>
        <field name="target">new</field>
    </record>

  调用按钮:

<button name="%(action_change_stage_ttest_inv)d" type="action" string="删除" class="btn btn-danger" attrs="{'invisible': [('payment_or_not','!=', 'st0')]}"/>
原文地址:https://www.cnblogs.com/wangdianchao/p/14132960.html