gpt4 book ai didi

python-2.7 - on_change 事件中的 "TypeError: Cannot read property ' 值 ' of null"

转载 作者:行者123 更新时间:2023-12-03 17:03:30 25 4
gpt4 key购买 nike

我发现 openerp 7 的文档令人沮丧。

我正在尝试从 on_change 事件调用一个函数来执行计算并将结果放入同一行内的另一个字段。

from openerp.osv import osv, fields

class degree_day(osv.osv):

_name = "degree.day"
_columns={
'date': fields.date('Date'),
'high_temp': fields.integer('High Temp'),
'low_temp': fields.integer('Low Temp'),
'heat_degree_day': fields.integer('Heat Degree Day' ),
'hw_degree_day': fields.integer('HW Degree Day' ),
}

def generate_degree_day(self, cr, uid, ids, high_temp = 0, low_temp = 0, context=None):
""" On change of temperature generate degree day numbers
@param high_temp: The day's high temperature
@param low_temp: The day's low temperature
"""
if not (high_temp and low_temp):
return

temp = 65 - (high_temp + low_temp) / 2

if temp < 0:
temp = 0

heat_degree_day = temp
hw_degree_day = temp + 5

<>

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="degree_day_tree" model="ir.ui.view">
<field name="name">degree.day.tree</field>
<field name="model">degree.day</field>
<field name="arch" type="xml">
<tree string="Degree Day List" editable="bottom">
<field name="date" />
<field name="high_temp" on_change="generate_degree_day(high_temp, low_temp)" />
<field name="low_temp" />
<field name="heat_degree_day" />
<field name="hw_degree_day" />
</tree>
</field>
</record>

<record id="show_degree_day" model="ir.actions.act_window">
<field name="name">Degree Day</field>
<field name="res_model">degree.day</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>


<menuitem name="Degree Day" id="menu_degree_day" action="show_degree_day"/>

</data>
</openerp>

最佳答案

OpenERP 期望onchange 函数返回以下格式的数据

{
'value' : {
'<field_x>': <value for field x>,
'<field_y>': <value for field y>,
}
'context' : <Context dict>
'domain' : {
'field_a' : <domain filter for field_a>,
'field_b' : <domain filter for fied_b>,
}
'warning' : {
'title': '<warning message title>',
'message': '<Warning message>'
}
}

上下文、域、警告是可选的。值是强制性的,您可以在该值字典中包含零个或多个字段的更新值。

在你的例子中,在你的 onchange 函数结束时,你可以添加

return {'value':{'heat_degree_day':temp,'hw_degree_day':temp + 5}}

关于python-2.7 - on_change 事件中的 "TypeError: Cannot read property ' 值 ' of null",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17029862/

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