问题描述
我正在尝试更新 onchange
方法中的 One2many 字段。
正如文档所说,我使用的是 update
方法,而不是像 create
这样的标准 CRUD 方法。
class HrExpenseSheet(models.Model):
_inherit = "hr.expense.sheet"
@api.onchange('employee_id')
def _update_expense_ids(self):
# define variables ...
values = {
'product_id': product_id,'name': name,'product_uom_id': product_uom_id,'unit_amount': unit_amount,'quantity': quantity,'total_amount': total_amount
}
self.update({'expense_line_ids':[(0,values)]})
它几乎可以工作。我将我的记录添加到表格中,但在整个表格中断之后......当这段代码执行时,会发生一些事情:
- 我无法保存该文档,因为未填写据称需要的
unit_amount
- 显然应该是 - 当我尝试编辑该特定行时,我无法编辑,因为它会将我带到一个全新的记录,而没有填写我的数据(但数据存在于表视图中)
- 我无法添加新行,因为当我单击按钮时出现错误
psycopg2.errors.InvalidTextRepresentation: invalid input Syntax for type integer: "virtual_2509" LINE 1: ...mpany_id" = 1)) AND (("hr_expense"."id" not in ('virtual_2...
这到底是怎么回事。我在 8.0 版上运行相同的代码没有问题,但这在 13.0 上不起作用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)