我发现使用@api.onchange有困难。
以下是我的文件:
init.py
from . import models
manifest.py
# -*- coding: utf-8 -*-
{
'name': "Sales Test",
'description': 'test description',
'depends': ['sale'],
'category': 'Test',
'data': [
'views/templates.xml',
],
'installable': True,
'application': False,
'auto_install': False,
}
init.py (file under models directory)
from . import partner
partner.py (位于models目录下的文件)
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class MyPartner(models.Model):
_inherit = 'res.partner'
@api.onchange('country_id')
def _onchange_country_id(self):
self.name = 'OnChange'
@api.onchange('street', 'zip')
def _onchange_street(self):
self.street = 'Test Street'
return {
'warning': {
'title': "Some changes happened",
'message': "onchange working, bravo!!!",
}
},
模块安装没有问题,视图也根据templates.XML进行了修改,但是当字段(街道、国家ID或邮政编码)发生更改时,没有任何反应。