Use the python * operator to unpack the list, like this: item_summary_fields = [db.item.id, db.item.title, db.item.image_thumb, db.item.currency, db.item.shipping_method, db.item.start_price, db.item.drops, db.item.duration, db.item.price_change, db.item.created_on]
rows = db(db.item.id>0).select(*item_summary_fields) In Python, if my_list is a list, *my_list unpacks the list. Similarly, if my_dict is a dict, **my_dict unpacks it. so, if we want to use orderby or groupby, we can use the dict unpacking like this: kw ={'orderby':'db.item.title'} rows = db().select(*item_summary_fields,**kw)