What's the model?
On Thursday, 10 May 2012 16:27:51 UTC-5, Francisco Costa wrote: > > I found another problem!! > > if you do this: > mongo.user.insert(name='Jim', age=18, city='Detroit') > mongo.user.insert(name='Jack', age=18) > > and then select > users = mongo(mongo.user.age==18).select() > > you don't have the field "city" in one of the rows, so you get this error: > > users = mongo(mongo.user.age==18).select() > File "/opt/web2py/gluon/dal.py", line 8123, in select > return adapter.select(self.query,fields,attributes) > File "/opt/web2py/gluon/dal.py", line 4700, in select > return processor(rows,fields,colnames,False) > File "/opt/web2py/gluon/dal.py", line 1681, in parse > self.parse_value(value, fields[j].type,blob_decode) > File "/opt/web2py/gluon/dal.py", line 1575, in parse_value > return self.parsemap[key](value,field_type) > File "/opt/web2py/gluon/dal.py", line 1641, in parse_id > return int(value) > ValueError: invalid literal for int() with base 10: 'Jack' > > > > On Thursday, May 10, 2012 10:16:32 PM UTC+1, Francisco Costa wrote: >> >> Just add a '\' at the end of line 4664 and your are done! >> >> Great job Massimo! >> >> >> On Thursday, May 10, 2012 9:12:48 PM UTC+1, Massimo Di Pierro wrote: >>> >>> This helps. I have another attempt to fix this in trunk. Hard to test it >>> since I do not have mongodb installed. >>> >>> On Thursday, 10 May 2012 08:39:22 UTC-5, Francisco Costa wrote: >>>> >>>> Still not working. I think Fields order is wrong. >>>> >>>> At the end of the select() function I write this: >>>> >>>> a = [] >>>> for f in fields: >>>> a.append(f.type) >>>> return dict(rows=rows, fields=a, colnames=colnames) >>>> >>>> and I got this: >>>> >>>> colnames: >>>> city >>>> age >>>> _id >>>> name >>>> fields: >>>> id >>>> text >>>> integer >>>> string >>>> rows: >>>> Toronto >>>> 66L >>>> 24652490551171733682233802752L >>>> John >>>> >>>> >>>>