Day 19 Onchange v.s. readonly

Odoo 的onchange 有些特别要注意的地方, 像是onchange会影响到的栏位都要写入XML
就算是使用者不需要看到的栏位, 也要写进XML然後将其隐藏

然而onchage遇上readonly就有个特性可能会让初次接触Odoo的人摸不着头绪

就是当该栏位是具有唯读属性时, 无论你如何测试都会发现, 怎麽数值会写不进去

这时候可能会有人选择暴力解法, 就是直接在onchange里直接使用SQL语法直接新增或更新

不过官方文件里有提到, 并不建议开发者将SQL语法直接写入方法之中, 除非万不得已

因为这将会绕过Odoo的权限及规则控制, 容易因为开发者的一些疏忽, 便会将资料库资料写入错误的资料!

但其实Odoo一直都有提供一个属性叫做 force_save

只要在Xml里的唯读栏位加入 force_save=True

那麽就算不暴力解, 也可以将其数值写入为读栏位之中了!

建议以後在选择硬干之前, 可以找找官方文件有没有提出相关的解法


<<:  Day19 Gin with Swagger

>>:  【React Hook 02】useState

【Day02】Verilog 基本简介

Verilog 电路基本架构 举个简单电路的例子: module adder( a, b, c );...

30天学会 Python: Day 5-集合啦? Python 友会

今天要补完剩下的三种容器 元组(Tuple) 和串列一样,元可以重复且有序,但元组一旦建立就无法修改...

04 - Tmux - 终端机管理工具

在开发时,常常需要多个指令同时运作(例如一个启动前端专案、一个启动後端专案),因此会需要同时开启多个...

30天学习笔记 -day 28-ExpandableListView

ListView相信各位应该或多或少有使用过,是单层式,项目会一个个排列,而ExpandableLi...

课堂笔记 - 物联网概论(4)

应用层 1.节能 智慧电网系统 自动将感测到家庭家电上的用电资料并上传到网路 电力公司才可以藉由智...