gpt4 book ai didi

python - odoo 10-@api.onchange

转载 作者:太空宇宙 更新时间:2023-11-03 10:52:52 28 4
gpt4 key购买 nike

我很难让@api.onchange 工作。

这是我的文件

初始化.py

from . import models

list .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(models目录下的文件)

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!!!",
}
},

模块安装没有任何问题, View 也根据 templates.XML 进行了更改,但是当字段(street、country_id 或 zip)发生更改时没有任何反应

最佳答案

在 return 语句的末尾,你写了 那是错误的。除此之外,您的代码在我看来还不错。只需确保它安装完美即可。

我分享了我的 onchange() 方法代码风格。

@api.onchange('street', 'zip')
def _onchange_street(self):
self.street = 'Test Street'
warning = {}
result = {}
warning = {
'title': _('Some changes happened!'),
'message': _('onchange working, bravo!!!'),
}
if warning:
result['warning'] = warning
return result

注意:

这些需要导入 _ 例如。

from odoo import models, fields, api, _

关于python - odoo 10-@api.onchange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931596/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com