Notice that render() option doesn't always shows up. 

my_post = db.Post(request.args(0)). render (represent that field) is not 
available even though its <class 'pydal.objects.Row'>

But for example:

posts = db().select(db.Post.all). Its also a <class 'pydal.objects.Row'> 
and I can do render(). 

But we still have list string in my_post like you have in posts. render 
option only shows with if I do select()


On Tuesday, May 10, 2016 at 11:03:41 AM UTC-4, [email protected] wrote:
>
> worked! thank you Anthony/Dave.
>
> On Monday, May 9, 2016 at 6:13:29 PM UTC-4, Dave S wrote:
>>
>> On Monday, May 9, 2016 at 1:34:31 PM UTC-7, [email protected] wrote:
>>>
>>> Interesting! 
>>>
>>> So, if I do:
>>>
>>> a = my_table.render()
>>>
>>> I get 
>>>
>>> a is  <bound method Rows.render of <Rows (10)>>
>>>
>>> How do I now access individual elements? like Rows[0], 
>>> Rows[1]..Rows[10].etc? because a[0] doesn't work.
>>>
>>>
>> It appears that you have an iterator.  Fromm the book:
>>
>>
>> f you don't specify an index, you get a generator to iterate over all the 
>>> rows:
>>> for row in rows.render():
>>>     print row.myfield
>>
>>
>> <URL:
>> http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer?search=render#Rendering-rows-using-represent
>> >
>>
>> /dps
>>
>>
>>
>>  
>>
>>>
>>>
>>> On Monday, May 9, 2016 at 3:53:48 PM UTC-4, Anthony wrote:
>>>>
>>>> This has nothing to do with the IS_IN_SET validator, which simply does 
>>>> validation in your code (typically, it would also generate an HTML select 
>>>> widget in forms, but not in your code, as you have explicitly specified 
>>>> your own form widget). It also has nothing to do with the field's form 
>>>> widget, as that only controls the display in forms.
>>>>
>>>> Rather, it is related to how you represent list values in your view 
>>>> code. Keep in mind that "days" is a "list:string" field, so it stores 
>>>> lists. The resulting value of the field in each Row is a Python list. In a 
>>>> view, if you do something like:
>>>>
>>>> {{=some_python_list}}
>>>>
>>>> you will get a display like the one you are seeing. If you want an 
>>>> alternative display, it is your responsibility to produce it as you see 
>>>> fit, depending on the nature of your UI.
>>>>
>>>> In read-only forms and the grid, list:-type fields are displayed as 
>>>> comma-separated lists via their default "represent" attribute. However, if 
>>>> you are just inserting a list value in a view via {{=row.my_list_field}}, 
>>>> the "represent" attribute is not used. In that case, you need to use 
>>>> Rows.render() to generate each Row object, which will automatically apply 
>>>> the "represent" attributes of each field.
>>>>
>>>> Anthony
>>>>
>>>> On Monday, May 9, 2016 at 12:06:49 PM UTC-4, [email protected] wrote:
>>>>>
>>>>> day_str = ('Sun', 'Mon', 'Tues', 'wed')
>>>>>
>>>>> Field('days', type='list:string',,requires=IS_IN_SET ((day_str), 
>>>>> multiple=True),widget=lambda field, value: 
>>>>> SQLFORM.widgets.multiple.widget(field, value, size=3, style='divs', 
>>>>> label=True)),
>>>>>
>>>>> /view
>>>>> {{=my_table.days}}
>>>>>
>>>>> One example
>>>>>
>>>>>
>>>>> On Monday, May 9, 2016 at 11:35:20 AM UTC-4, Anthony wrote:
>>>>>>
>>>>>> Please show your code.
>>>>>>
>>>>>> On Sunday, May 8, 2016 at 7:15:22 PM UTC-4, [email protected] wrote:
>>>>>>>
>>>>>>> What would be the most efficient way to take out html tag for 
>>>>>>> IS_IN_SET (str) which outputs 
>>>>>>>
>>>>>>> ['my string']
>>>>>>>
>>>>>>>
>>>>>>> Want to display.
>>>>>>>
>>>>>>>
>>>>>>> my string
>>>>>>>
>>>>>>>
>>>>>>> Is re.compile and re.sub are the only options? XML, sanitize =True 
>>>>>>> doesn't work. Thanks in advance.
>>>>>>>
>>>>>>>

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