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
>>>>
>>>
--