odoo - Odoo中如何通过id获取之前的数据或者最新的数据?

标签 odoo odoo-8 odoo-9

我创建了一个计费系统,其中的字段为 meter_no , prev_reading , current_readingconsumed 。 在我的 onchange 方法中,当我选择仪表编号时,我的 prev_reading会自动填充上次保存的值current_reading通过 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

但这总是返回第二个值,而不是最后一个数据。例如,BILL-01 prev_reading = 0.0 , current_reading = 10.0 ,和consumed = 10.0 。在 BILL-02 中,数据如预期正确,其中 prev_reading = 10.0 ,然后我输入current_reading = 20 ,然后consumed = 10 。这里是第三个账单,BILL-03 prev_reading总是10 ,直到第四个为止始终相同,依此类推。这有什么问题吗?我已经用过 max()获取最后一个 id。

最佳答案

您可以将选项传递给搜索函数来获取最后一个 id,如下所示:

record_ids = self.search([('meter_no','=',self.meter_no.id)], order='id desc', limit=1)
last_id = record_ids.id

...

关于odoo - Odoo中如何通过id获取之前的数据或者最新的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40372212/

相关文章:

python - OpenERP 立即创建和编写方法

python - 关联 One2many 字段,在一个已经相关的字段上 - Odoo v8

xml - 如何将自定义纸张格式链接到 Odoo 8 中的 pdf 报告?

python - 单击取消按钮时 odoo-10 序列增量

docker - .env的Docker-Compose传递命令args

python - Odoo:服务器操作在列 "activity_user_type"中返回空值违反了非空约束

openerp - 在 Many2one 中过滤

odoo-8 - 帐户发票报告中的状态

odoo-8 - 我们如何在 odoo v10 的 ir.action.act.window 中获取登录用户?

odoo - 自定义字段不尊重访问权限