Hi Anthony, thx for your help, I was using table inside lambda then table
value was always the last table.

Good point! I'll use as you said


2014-05-07 3:22 GMT-03:00 Anthony <[email protected]>:

> You're already looping over the tables when you define your functions, so
> just use the table value from the loop in your lambda function definitions.
> Not tested, but maybe something like:
>
> def remove_filters(table):
>     for field in table:
>         field.filter_out = None
>
> for t in db.tables:
>     db[t]._before_insert.insert(0, lambda f, table=db[t]: remove_filters(
> table))
>     db[t]._before_update.insert(0, lambda s, f, table=db[t]:remove_filters
> (table))
>
> Instead, though, it might be worth figuring out why you're getting the
> errors and seeing if that can be fixed.
>
> Anthony
>
>
> On Wednesday, April 30, 2014 10:03:48 AM UTC-4, Diogo Munaro wrote:
>
>> Hey guys! Nowadays I'm using a some filter_outs but they got update and
>> insert erros on record versioning.
>>
>> I'm solving update issue using before_update like this:
>>
>>     def remove_filter(s,field):
>>         field_obj = s.query.db[str(s.query).split('.')[0][1:]][field]
>>         field_obj.filter_out = ''
>>
>>     for t in db.tables:
>>         db[t]._before_update.insert(0, lambda s, f: not [remove_filter(s,
>> field) for field in f])
>>
>> s.query.db is the returned db;
>>
>> str(s.query).split('.')[0][1:] is an ugly way to get table name
>>
>> field is the field_name.
>>
>> With update I got an ugly solution, but I got a solution. With insert I
>> can't do it because before_insert don't have a Query object and I can't get
>> table name
>>
>> Is there a better way to solve it and remove filter_outs before inserts
>> and updates?
>>
>  --
> 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 a topic in the
> Google Groups "web2py-users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/web2py/hml1Oyi3tpg/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

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