引用域函数(Odoo12)中的另一个字段

时间:2019-07-10 05:43:55

标签: field odoo lookup

我想根据在GL Prefix中输入的值来限制帐户查找(域)(我将实际使用一些通配符和一些我稍后会喜欢的其他逻辑),问题是我得到了self.x_poLineGLprefix返回的逻辑True或False值,而不是字段中的值。如何获取x_poLineGLprefix的实际数据值?

class QuickPOLine(models.Model): 
_name = 'purchase.order.line' 
_inherit = 'purchase.order.line' 

x_poLineGLprefix = fields.Char(string='GL Prefix') 
x_poLineGLaccount = fields.Many2one( 
'account.account', string="Line Item Expense Account", 
domain=lambda self: [('code', '=', self.x_poLineGLprefix)])

2 个答案:

答案 0 :(得分:3)

尝试一下

@api.onchange('x_poLineGLprefix')
def onchange_x_poLineGLprefix(self):

    if self.x_poLineGLprefix:
         return {'domain': {
            'x_poLineGLaccount': [('code', '=', self.x_poLineGLprefix)]
        }}

答案 1 :(得分:2)

您可以添加动态域以基于任何字段来实现此目的。在@ api.onchange()函数中,您可以返回many2one的域。要添加动态域,您可以参考此link。如果您同时使用many2one字段,请参考此link.

相关问题