Hi, I'm using Version 1.91.6 (2011-01-03 17:55:14) and I'm find this 
behaviour with computed fields. 

Is correct, is the type of a computed field always a string?

Example:

*Define a table with a computed field:*

db.define_table('entries',
    Field <http://127.0.0.1:8080/examples/global/vars/Field>('f1', 'integer'),
    Field <http://127.0.0.1:8080/examples/global/vars/Field>('f2', 'integer'),
    Field <http://127.0.0.1:8080/examples/global/vars/Field>('f3', 'integer', 
compute=lambda r: r['f1'] * r['f2']))


*Insert some data:*

db.entries.insert(f1=9, f2=8)

*Show data and type:*

>>> for r in db(db.entries).select():
...  print r.f1, type(r.f1)
...  print r.f2, type(r.f2)
...  print r.f3, type(r.f3)
...
9 <type 'int'>
8 <type 'int'>
72 <type 'str'>



Thanks - Ian


Reply via email to