'Custom lookup method for item_pack rows, does a left join with
the item.
@param key: the primary key of the lookup table
@param values: the supply_item_pack IDs
@param fields: the fields to lookup (unused in this class,
retained for API compatibility)'

def lookup_rows(self, key, values, fields=[]):

    db = current.db
    table = self.table
    itable = db.supply_item
    qty = len(values)
    if (qty == 1):
        query = (key == values[0])
    else:
        query = key.belongs(values)
    left = itable.on((table.item_id == itable.id))
    rows = db(query).select(table.id, table.name, table.quantity, itable.um, left=left, limitby=(0, qty))
    self.queries += 1
    return rows
