I tried the latest trunk, and it solves the problem I described. This is great and it will make it much easier for me to interact with my legacy tables. I also have to thank you for the amazingly fast fix!!! Thanks a lot - Tom
On Wednesday, July 25, 2012 8:14:14 PM UTC-6, Massimo Di Pierro wrote: > > There is a solution in trunk. Please give it a try. > > On Wednesday, 25 July 2012 20:36:07 UTC-5, tomt wrote: >> >> Hi, >> I was using a version of trunk. I downloaded today's version and got the >> same error. I opened a ticket as suggested. (Issue 908) >> >> On Wednesday, July 25, 2012 7:38:47 AM UTC-6, Massimo Di Pierro wrote: >>> >>> Please open a ticket. This can be fixed if not fixed already. Using >>> trunk or stable? >>> >>> On Tuesday, 24 July 2012 23:28:29 UTC-5, tomt wrote: >>>> >>>> I use several legacy tables in my web2py applications >>>> A typical definition that I use is: >>>> db2.define_table('analogpoint', >>>> Field('pointnumber','integer',writable=False), >>>> Field('pointname','string',writable=False), >>>> primarykey=['pointnumber'], >>>> migrate=False >>>> ) >>>> >>>> I can access this table with DAL: >>>> info = db2(db2.analogpoint.pointnumber == point) \ >>>> .select(db2.analogpoint.pointnumber,db2.analogpoint.pointname) >>>> >>>> but the following method generates an error: >>>> temp = db2.analogpoint[1].pointname >>>> KeyError: '_id' >>>> >>>> Is there a way to use this method on a table that doesn't have an 'id' >>>> field >>>> >>>> I have had success when I generate a view that includes an 'id' field >>>> for every legacy table, but I would like to avoid this if possible. >>>> >>>> - Tom >>>> >>> --