我创建了一个计费系统,其中有meter_no、prev_reading、current_reading和consumed字段。在我的onchange方法中,当我选择一个计量器编号时,我的prev_reading将通过meter_no的id自动填充上一次保存的current_reading的值。下面是我的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。在第三个账单中,prev_reading -03的值始终为10,在第四个账单之前一直是一样的,依此类推。这有什么问题吗?我已经用max()获取了最后一个id。
发布于 2016-11-02 15:15:38
您可以将选项传递给搜索函数,以获取最后一个id,如下所示:
record_ids = self.search([('meter_no','=',self.meter_no.id)], order='id desc', limit=1)
last_id = record_ids.id..。
https://stackoverflow.com/questions/40372212
复制相似问题