Thank you, really.

On Sunday, December 12, 2021 at 3:46:40 PM UTC+2 Clemens wrote:

> Now parent is a valid row object, that can be referenced by parent.id. If 
> it delivers what you want to, it's fine!
>
> Best regards
> Clemens
>
> On Sunday, December 12, 2021 at 2:42:31 PM UTC+1 mostwanted wrote:
>
>> So i decided to do this & seems to be working, I hope it fall apart, 
>> please advice if i'm wrong. I added the validator function inside the 
>> registration function & called it from the process() function, its working, 
>> i hope it wont fall apart.
>>
>> def registration():
>>     parent=db.parent(request.args(0, cast=int))
>>     
>> *def my_validator(form):        if db((db.children.id 
>> <http://db.children.id>>0) & (db.children.parent==parent.id 
>> <http://parent.id>)).count() >=4:*
>>
>> *            form.errors.children_names=SPAN("The number of children has 
>> exceeded the required number")*
>>
>>     db.children.parent.default=parent.id
>>     form=SQLFORM(db.children)
>>     if form.process(onvalidation=my_validator).accepted:
>>         response.flash=T('Client Regitered')
>>     return locals()
>>
>> On Sunday, December 12, 2021 at 3:01:37 PM UTC+2 mostwanted wrote:
>>
>>> What I want is to prevent more than 10 entries of children per selected 
>>> parent
>>>
>>> On Sunday, December 12, 2021 at 1:45:31 PM UTC+2 Clemens wrote:
>>>
>>>> Hello!
>>>>
>>>> Your are not referencing the parent table. I think, what you want to 
>>>> address, is as follows:
>>>>  if db((db.*parent*.id>0) & (db.children.parent==parent.id)).count() 
>>>> >=10:
>>>>     ...
>>>>
>>>> Then the error should not occur and you are get all parents with more 
>>>> than 10 children.
>>>>
>>>> Regards
>>>> Clemens
>>>>
>>>>
>>>> On Sunday, December 12, 2021 at 9:29:11 AM UTC+1 mostwanted wrote:
>>>>
>>>>> I am trying to create a short validator that limits the number of 
>>>>> children that can be listed under one parent but I'm having a problem 
>>>>> with 
>>>>> the highlighted line because I cant use *parent.id <http://parent.id> 
>>>>> *to specify the selected parent when the parent variable is 
>>>>> referenced outside the validator function. I rightfully get:
>>>>> *<type 'exceptions.NameError'> global name 'parent' is not defined*
>>>>>
>>>>> Anyone on ideas on how to work around this?
>>>>>
>>>>> def my_validator(form):
>>>>> *    if db((db.children.id <http://db.children.id>>0) & 
>>>>> (db.children.parent==parent.id <http://parent.id>)).count() >=10:*
>>>>>           form.errors.children_names=SPAN("The number of children has 
>>>>> exceeded the required number")
>>>>>
>>>>> def registration():
>>>>>    * parent=db.parent(request.args(0, cast=int)) #referenced outside 
>>>>> the validator function*
>>>>>     db.children.parent.default=parent.id
>>>>>     form=SQLFORM(db.children)
>>>>>     if form.process(onvalidation=my_validator).accepted:
>>>>>         response.flash=T('Client Registered')
>>>>>     return locals()
>>>>>
>>>>

-- 
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 web2py+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/9731c098-9619-4ce2-be68-cc11d59eef34n%40googlegroups.com.

Reply via email to