You know what Anthony, your tips is pretty fucking nice!!

:D

Sorry for slang language.

Richard


On Thu, Mar 14, 2013 at 3:16 PM, Richard Vézina <ml.richard.vez...@gmail.com
> wrote:

> Hmm... That's interessting!
>
> Since it is not documented yet could it be modified in a near future? I
> mean, if I start using it could I experiment bugs to trigger in my app in
> the future cause the syntax change or something like that?
>
> Thanks for this tip Anthony.
>
> RIchard
>
>
> On Thu, Mar 14, 2013 at 3:07 PM, Anthony <abasta...@gmail.com> wrote:
>
>> How about:
>>
>> for i in range(0,10):
>>     inputs.append(db.table1.field1.clone(name='%s_%s' % (db.table1.field1
>> .name, i)))
>>
>> The .clone() method copies the field, but you can pass in arguments to
>> replace some of the existing attributes (such as the name). I don't think
>> this is documented, though.
>>
>> Anthony
>>
>> On Thursday, March 14, 2013 8:42:21 AM UTC-4, Richard wrote:
>>
>>> Hello Anthony,
>>>
>>> I know that, I just forget to take it in consideration in my example I
>>> guess...
>>>
>>> What I want to do is to create a batch insert form for a table a kind of
>>> inline edition but for insert data into database... So I would have many
>>> rows in a html table that will contains the fields a given table and only
>>> one submit button.
>>>
>>> I can build my form like this :
>>>
>>> inputs = []
>>> for i in range(0,10):
>>>    inputs.append(Field('field1'+**'_%s' %str(i), 'type...', ...))
>>>    inputs.append(Field('field2'+**'_%s' %str(i), 'type...', ...))
>>>
>>> form = SQLFORM.factory(*inputs)
>>>
>>> That way I get unique distinct inputs fields.
>>>
>>> Then with custom form I can esealy build html table in view...
>>>
>>> But what I would like to avoid is to have 2 instances for field
>>> definition : one in model and one in the batch insert function because it
>>> seems to me that I can't get the field definition propertieds from model...
>>>
>>> I would like to know if I could get field properties from model
>>> something like that :
>>>
>>> inputs = []
>>> for i in range(0,10):
>>>     
>>> inputs.append(Field(db.table1.**field1.name<http://db.table1.field1.name>+'_%s'
>>> %str(i), db.table1.field1.type, ...)
>>>     ...
>>>
>>> Thanks
>>>
>>> Richard
>>>
>>>
>>> On Wed, Mar 13, 2013 at 6:28 PM, Anthony <abas...@gmail.com> wrote:
>>>
>>>> SQLFORM.factory creates a dummy DAL Table object with the fields
>>>> submitted, so you cannot use duplicate field names, as they are illegal in
>>>> DAL tables. Note, technically your form can have input elements with the
>>>> same name, but once the values are submitted to the server, the values will
>>>> be joined together in a single list. For example, if you have three fields
>>>> with the name "field1", request.vars.post_vars will be a list like [value1,
>>>> value2, value3].
>>>>
>>>> What are you really trying to do?
>>>>
>>>> Anthony
>>>>
>>>>
>>>> On Wednesday, March 13, 2013 3:31:19 PM UTC-4, Richard wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> I would like to build a bunch insert form and I wouldn't have to
>>>>> duplicate fields definition for SQLFORM.factory
>>>>>
>>>>> I try naively
>>>>>
>>>>> inputs = []
>>>>> for i in range(0,10):
>>>>>     inputs.append(db.table1.field****1)
>>>>>     inputs.append(db.table1.field****2)
>>>>>
>>>>> form = SQLFORM.factory(*inputs)
>>>>>
>>>>> But even if I get 10 inputs of each in "inputs" they all refer to the
>>>>> same instance so when I render the form with SQLFORM.factory, I only get 
>>>>> my
>>>>> 2 fields, but I would have 10 of each...
>>>>>
>>>>> Is there a way to avoid doing this :
>>>>>
>>>>> inputs = []
>>>>> for i in range(0,10):
>>>>>     inputs.append(Field('field1', 'type...', ...))
>>>>>     inputs.append(Field('field2', 'type...', ...))
>>>>>
>>>>> form = SQLFORM.factory(*inputs)
>>>>>
>>>>> Because doing the last example would make my code much more less DRY.
>>>>>
>>>>> Thanks
>>>>>
>>>>> Richard
>>>>>
>>>>  --
>>>>
>>>> ---
>>>> 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 web2py+un...@**googlegroups.com.
>>>>
>>>> For more options, visit 
>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>>
>>>>
>>>>
>>>
>>>  --
>>
>> ---
>> 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 web2py+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>

-- 

--- 
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 web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to