With the information here 
http://www.web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#Run-time-field-and-table-modification

you can do db['mytable']['field1']. So you'd want something like: 

field_list_split = [i.split(.) for i in field_list]
fields = [db[table][field] for dummy, table, field in field_list_split]


On Friday, March 27, 2015 at 3:39:38 PM UTC-4, LoveWeb2py wrote:
>
> Hi JorgeH,
>
> I didn't want to use eval due to code injection, but here is what I ended 
> up using and it worked.
>
> field_list = ['db.mytable.field1', 'db.mytable.field2'] 
>
> fields = [getattr(db.mytable, i.split(".")[-1] for i in field_list]
>
>
>
> and in SQLFORM fields=fields
>
> Thanks everyone!1
>
> On Friday, March 27, 2015 at 3:35:57 PM UTC-4, JorgeH wrote:
>>
>>
>> have you tried  eval  ??
>>
>> fields = [eval ('db.mytable.field1') , eval ('db.mytable.field2') ] 
>>
>>
>>
>>
>>
>> (just a suggestion. I didn't tried myself)
>>
>> On Friday, March 27, 2015 at 2:24:06 PM UTC-5, LoveWeb2py wrote:
>>>
>>> having trouble with the SQLFORM.smartgrid fields section
>>>
>>> Fields only takes 
>>>
>>> fields = [db.mytable.field1, db.mytable.field2]
>>>
>>> I have a function that returns all the fields to be returned, but 
>>> they're in strings format.
>>>
>>> fields = ['db.mytable.field1', 'db.mytable.field2'] #this returns an 
>>> error with SQLFORM
>>>
>>> How can I convert the strings to variables like in the first fields 
>>> example.
>>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to