I just figured out the problem is in 
*request.vars.professor_inst_id* 
and 


*request.vars.professor_id*How should I access form field names 
professor_inst_id for instance?

Tkx

Em quinta-feira, 12 de maio de 2016 21:00:09 UTC-3, Sandro Javiel escreveu:
>
> In fact form is processed and new classroom is created, however with 
> insititution and professor equals None:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> Em quinta-feira, 12 de maio de 2016 20:45:35 UTC-3, Sandro Javiel escreveu:
>>
>> HI Anthony,
>>
>> I have a function in controller group exposed using url group/new 
>>
>> def new():
>>     if(session.auth is not None and session.auth.user.id is not None):
>>         user_id = session.auth.user.id
>>         professor_id = db(db.professor.id == user_id).select(
>> db.professor.id)[0]['id']
>>         professor_inst_id = db(db.professor.id == 
>> professor_id).select(db.professor.institution)[0]['institution']
>>         form=FORM('Nome da turma:', INPUT(_name='name', 
>> requires=IS_NOT_EMPTY()), 
>>                   'Disciplina:',INPUT(_name='subject', 
>> requires=IS_NOT_EMPTY()), 
>>                   T('Professor Id:') ,INPUT(_name='professor_id', 
>> _id='professor_id', value=professor_id), 
>>                   T('Institution Id') ,INPUT(_name='professor_inst_id', 
>> _id='professor_inst_id', value=professor_inst_id), 
>>                   INPUT(_type='submit'))
>>         if form.accepts(request,session):
>>             
>>             
>> db.classroom.insert(institution=request.vars.professor_inst_id, 
>> professor=request.vars.professor_id, subject=request.vars.subject, name=
>> request.vars.name)
>>             response.flash = T('Nova turma criada')
>>
>>
>>
>> Em quinta-feira, 12 de maio de 2016 10:33:11 UTC-3, Anthony escreveu:
>>>
>>> How are you doing the insert? Is it via application code during an HTTP 
>>> request, or in the shell or a script. If the latter, you need to call 
>>> db.commit() to commit any changes to the database (this is done 
>>> automatically in the context of HTTP requests).
>>>
>>> Anthony
>>>
>>> On Thursday, May 12, 2016 at 4:57:29 AM UTC-4, Sandro Javiel wrote:
>>>>
>>>> Hi all,
>>>>
>>>> My app has model as shown below. If I use appadmin interface I can 
>>>> insert on tables which have some onstraints like classroom (fk: 
>>>> professor.id and institution.id). However using form 
>>>>
>>>> =FORM('Nome da turma:', INPUT(_name='name', requires=IS_NOT_EMPTY()), 
>>>>                   'Disciplina:',INPUT(_name='subject', 
>>>> requires=IS_NOT_EMPTY()), 
>>>>                   T('Professor Id:') ,INPUT(_name='professor_id', 
>>>> _id='professor_id', value=professor_id), 
>>>>                   T('Institution Id') ,INPUT(_name='professor_inst_id', 
>>>> _id='professor_inst_id', value=professor_inst_id), 
>>>>                   INPUT(_type='submit'))
>>>>  
>>>> The line            
>>>> db.classroom.insert(institution=request.vars.professor_inst_id, 
>>>> professor=request.vars.professor_id, subject=request.vars.subject, name=
>>>> request.vars.name)
>>>>             
>>>> produces no error but I have no effect in DB. I would like to 
>>>> understand difference between appadmin inserts and the one I just 
>>>> described. Is there some way to log every single sql execution? Any other 
>>>> suggestion or complain about my code?
>>>>
>>>> Tkx in advance.
>>>>
>>>>  
>>>> =====================================
>>>> db.define_table('institution',
>>>>     Field('image','blob'),
>>>>     Field('country', default='Brasil'),
>>>>     Field('name'))
>>>>
>>>> db.define_table('professor',
>>>>     Field('username'),
>>>>     Field('photo', 'upload'),
>>>>     Field('email'),
>>>>     Field('name'),
>>>>     Field('institution',db.institution))
>>>>
>>>> db.define_table('dog',
>>>>     Field('name'),
>>>>     Field('photo', 'upload'),
>>>>     Field('description', 'text'),
>>>>     Field('institution', db.institution),
>>>>     Field('professor',db.professor)) 
>>>>
>>>> db.define_table('config',
>>>>     Field('name'),
>>>>     Field('ssid'),
>>>>     Field('password'),
>>>>     Field('institution',db.institution ))
>>>>
>>>>
>>>> db.define_table('classroom',
>>>>     Field('institution',db.institution),
>>>>     Field('professor', db.professor),
>>>>     Field('subject'),
>>>>     Field('dog_list'),
>>>>     Field('name'))
>>>>
>>>>
>>>> db.define_table('bodypoint',
>>>>     Field('institution',db.institution),
>>>>     Field('classroom', db.classroom),
>>>>     Field('code', default='m'),
>>>>     Field('delimiter_chars', default='<>'),
>>>>     Field('description','text'),
>>>>     Field('name'))
>>>>
>>>> db.define_table('actions',
>>>>     Field('institution',db.institution),
>>>>     Field('classroom',db.classroom),
>>>>     Field('professor', db.professor),   
>>>>     Field('dog', db.dog),
>>>>     Field('query_string'),
>>>>     Field('is_active', 'boolean', default=True))
>>>>
>>>> db.professor.institution.requires = IS_IN_DB(db,'institution.id', 
>>>> '%(name)s')
>>>> db.dog.institution.requires = IS_IN_DB(db,'institution.id', '%(name)s')
>>>> db.dog.professor.requires = IS_IN_DB(db,'professor.id', '%(name)s')
>>>> db.config.institution.requires = IS_IN_DB(db,'institution.id', 
>>>> '%(name)s')
>>>> db.classroom.institution.requires = IS_IN_DB(db,'institution.id
>>>> ','%(name)s')
>>>> db.classroom.professor.requires = IS_IN_DB(db,'professor.id
>>>> ','%(name)s')
>>>> db.bodypoint.institution.requires = IS_IN_DB(db,'institution.id
>>>> ','%(name)s')
>>>> db.bodypoint.classroom.requires = IS_IN_DB(db,'classroom.id
>>>> ','%(name)s')
>>>> db.actions.institution.requires = IS_IN_DB(db,'institution.id
>>>> ','%(name)s')
>>>> db.actions.professor.requires = IS_IN_DB(db,'professor.id','%(name)s')
>>>> db.actions.classroom.requires = IS_IN_DB(db,'classroom.id','%(name)s')
>>>> db.actions.dog.requires = IS_IN_DB(db,'dog.id','%(name)s')
>>>>
>>>>
>>>>

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