I tried this from shell and cannot reproduce the problem:

>>> db = DAL()
>>> db.define_table('laptops', 
...                         Field('id_laptop','integer'),
...                         Field('serial_number','string'),
...                         Field('id_trademark','integer'),
...                         primarykey=['id_laptop'])
<Table laptops (id_laptop,serial_number,id_trademark)>
>>> db.laptops.insert(serial_number='1',id_trademark=int('1')){}
>>> db.commit()

On Thursday, 27 September 2012 02:00:57 UTC-5, Manu Mora wrote:
>
> Hello! I have a problem with DAL.
>
> I have this table:
>
> *cdb.define_table('laptops', *
> *                        Field('id_laptop','integer'),*
> *                        Field('serial_number','string'),*
> *                        Field('id_trademark','integer'),*
> *                        primarykey=['id_laptop'])*
> *
> *
> and when I try to insert:
>
> *        
> self.DB.laptops.insert(serial_number=self.serial_number,id_trademark=int(self.id_trademark))
> *
> *        self.DB.commit()*
>
> I get this error:
>
> *TypeError: list indices must be integers, not str*
> *
> *
> Thanks.
>

-- 



Reply via email to