小编sto*_*x26的帖子

如何在Odoo中通过id获取以前的数据或最新数据?

我创建了一个计费系统,我有一个领域meter_no,prev_reading,current_readingconsumed.在我的onchange方法中,当我选择一个仪表编号时,我prev_reading将自动填充最后current_reading由a的id 保存的值meter_no.这是我的onchange方法:

@api.multi
@api.onchange('meter_no')
def onchange_meter_no(self):
    ids = self.search([('meter_no','=',self.meter_no.id)])
    last_id = ids and max(ids)
    if self.meter_no:
        self.prev_reading = last_id.current_reading or None
Run Code Online (Sandbox Code Playgroud)

但这总是返回第二个值,而不是最后一个数据.例如,BILL-01 prev_reading = 0.0,current_reading = 10.0consumed = 10.0.在BILL-02,符合市场预期,其中,该数据是正确的prev_reading = 10.0,然后我进入current_reading = 20,然后consumed = 10.在第三次计费中,BILL-03 prev_reading始终是10,直到第四次才一直相同,依此类推.这有什么问题?我已经用它max()来获取最后一个id.

openerp odoo-8 odoo-9

3
推荐指数
1
解决办法
2540
查看次数

标签 统计

odoo-8 ×1

odoo-9 ×1

openerp ×1