如何递增或递减记录集?奥多9

How to increment or decrement a recordset? odoo9

我的记录集是items = product.pricelist.item(4,3,2)

qty_in_product_uom 由用户传递( 4= min_quantity 500, 3= 250, 2= 100 )

for rule in items:
    if rule.min_quantity and qty_in_product_uom < rule.min_quantity:
        print inside rule.id

现在我想要这样一个函数,如果条件为真select是下一个 id

例如。如果用户通过 qty_in_product_uom 说 110 那么我上面的 if 条件将给出 id=2 在这种情况下我想要 id=3

如果 id=3 那么答案将是 id=4

and if id=4 select id=4

由于记录集是不可变的,如何实现这一点。

记录集(BaseModel class) 是一个可迭代的Python 对象。这意味着您几乎可以像使用列表一样使用该对象。例如:

item = product.pricelist.item(4,3,2)[0]

print item # This will print product.pricelist.item(4,)

如果你想使用它的 id 从记录集中获取记录,你可以使用:

item = product.pricelist.item(4,3,2).index(3)

print item # This will print product.pricelist.item(3,)