Odoo-Exp: Odoo 中的`new`方法并不能自动获取默认值
-
我们可以通过
new
方法来创建‘虚拟记录’(就是存在于内存中,尚未提交到数据库的虚拟记录,该记录的id
属性是一个NewId
对象:<odoo.models.NewId object at 0x105ff0d68>
)。比如,点击界面上的Create
按钮但是尚未点Save
保存的,界面上的记录就是一个虚拟记录。虚拟记录可以让我们对内存中的数据做灵活的操作,对它的操作与'实记录‘几乎没有区别。但是要注意的是,产生实记录的
create
方法和产生虚记录的new
方法是有区别的。new
方法并不会如create
方法那样自动调用_default_get
方法获取默认值,所以如果在创建记录时需要获取默认值,需要手动调用:vals = OrderLine.default_get(OrderLine._fields.keys()) vals.update({ ..... }) order_line = OrderLine.new(vals)