When I run a query using executesql, what is the object that is returned? is it a dictionary?
The reason I ask is that I am starting to think that the order of fields being returned to me is not the order that I put them in the SQL statement. As an example, I am running this code. def clean_qty(): import re rows = cmdb.executesql("select name, description_short, description, id_product from product_lang where name like '%X%' or description_short like '%X%' or description like '%X%'") for row in rows: match = re.search('(.+)X|\d*',row[0]) prod_name = match.group(1) match = re.search('(.+)X|\d*',row[1]) prod_short_description = match.group(1) cmdb(cmdb.product_lang.id_product==row[3]).update(name=prod_name, description_short=prod_short_description) When I use row[1], I am starting to think that I am not getting back "description_short". Is there a way that I can refer to the fields in the result by name rather than numeric position? Thanks Simon --