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

Reply via email to