如何添加特定类的条件以显示字段下拉列表,但res.partner表单中的partner_id除外 [英] How to add condition for particular class to show field drop -down except partner_id from res.partner form

查看:513
本文介绍了如何添加特定类的条件以显示字段下拉列表,但res.partner表单中的partner_id除外的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的模块中访问res.partner表单。但我想要而不是客户(partner_id),它只是特定类的下拉列表中的'pet_name'。我应用了一个函数,它的工作。但是,它适用于完整的res.partner。但我不想要这个。那么,任何人都可以为这个问题提供解决方案或条件吗?

I want to access res.partner form in my module. But i want that instead of customer(partner_id) it 'pet_name' in drop-down for only particular class. I applied a function and it's work. But, it work for complete res.partner. But i don't want this. So, any one can provide solution or condition for this problem?

我的代码在这里:

class customer_information (models.Model):

class customer_information(models.Model):

_inherit = "res.partner"

@ api.multi

@api.multi

def name_get(self):

    result = []

    for record in self:

        name = '['

        if record.pet_name:

            name += record.pet_name + ']' + ' ' + record.name

        else:

            name += '] ' + record.name

        result.append((record.id, name))

    return result

pet_name = fields.Char(宠物名称)

pet_name = fields.Char("Pet Name")

dog_cat = fields.Selection([('dog', 'Dog'), ('cat', 'Cat')], string="Dog/Cat")

species = fields.Many2one('species.pet', string="Species")

pet_size = fields.Selection([('large', 'Large'), ('medium', 'Medium'), ('small', 'Small')], string="Size")

class machine_weight(models.Model):

class machine_weight(models.Model):

_name = 'machine.weight'

machine_id = fields.Many2one('sale.pet', string='Machine Weight', ondelete='cascade', index=True,

                             copy=False)

pet = fields.Many2one('res.partner')

weight = fields.Integer()

price = fields.Integer()


推荐答案

我们需要传递上下文并检查 name_get()方法。如果我们得到那个上下文然后激发你的逻辑,否则核心逻辑就会执行。

We need to pass context and check that context key in name_get() method. If we get that context then fire your logic otherwise core logic execute.

例如:

在XML方面更新代码:

In XML side update code:

<field name="pet" context="{'need_pet': True}">

现在检查方法中的上下文密钥。

Now check context key in method.

@api.multi
def name_get(self):
    if self._context and self._context.has_key('need_pet'):
        result = []
        for record in self:
            name = '['
            if record.pet_name:
                name += record.pet_name + ']' + ' ' + record.name
            else:
                name += '] ' + record.name
            result.append((record.id, name))
        return result
    return super(customer_information, self).name_get()

这篇关于如何添加特定类的条件以显示字段下拉列表,但res.partner表单中的partner_id除外的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆