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.