如何在odoo中向用户提示数据?

问题描述 投票:1回答:1

我正在处理一个表单,我正在尝试获取一个数字,用于克隆当前数据的次数。

模板

        <record id="form_view" model="ir.ui.view">
            <field name="name">data form</field>
            <field name="model">sf.data</field>
            <field name="arch" type="xml">
                <tree>
                    <field name="name" string="Name" />
                    <field name="age" string="Age"/>
                </tree>
            </field>
        </record>

模型

    class data(models.Model):
        _name = 'sf.data'
        name = fields.Char('Name')
        age= fields.Integer('Age')

有没有办法在模板中设置一个不响应模型的新字段?

python templates dialog odoo box
1个回答
0
投票

显然我需要的是一个巫师。这就是我做到的:

模板

<record id="wizard_form" model="ir.ui.view">
    <field name="name">test wizard</field>
    <field name="model">sf.datawizard</field>
    <field name="arch" type="xml">
        <form>
            <group>
                <field name="amount" string="Amount" />
            </group>
            <footer>
                <button string="Save" type="object" name="btn_cloning"/>
                <button string="Cancel" type="object" special="cancel" />
            </footer>
        </form>
    </field>
</record>


<record id="form_view" model="ir.ui.view">
    <field name="name">data form</field>
    <field name="model">sf.data</field>
    <field name="arch" type="xml">
        <form>
            <header>
                <button name="btn_wizard" string="Clon" type="object" />
            </header>
            <sheet>
                <field name="name" string="Name" />
                <field name="age" string="Age"/>
            </sheet>
        </form>
    </field>
</record>

模型

class cloningwizard(models.TransientModel):
    _name='sf.cloningwizard'
    amount= fields.Integer('Amount')

    @api.multi
    def btn_cloning(self):
        data= self.env['sf.data'].search([('id','=',self._context.get('active_id', False))])
        for item in range(1,self.amount+1):
            data.copy()
        return True

class data(models.Model):
    _name = 'sf.data'
    name = fields.Char('Name')
    age= fields.Integer('Age')

    def btn_wizard(self):
        return {
            'name': 'Amount of times to be cloned',
            'type': 'ir.actions.act_window',
            'res_model': 'sf.datawizard',
            'view_type': 'form',
            'view_mode': 'form',
            'target': 'new',
            }
© www.soinside.com 2019 - 2024. All rights reserved.