def matriculas(_write_tmpl, curso_id): # Lista de todos alunos do BD alunos = Aluno.query_alunos_ordenados_asc().fetch() #Construção da chave baseado no id do curso curso_key = ndb.Key(Curso, int(curso_id)) lista_de_matriculas = Matricula.query_matriculas_do_curso(curso_key).fetch() # Filtrando apenas chaves dos alunos matriculados chaves_alunos_matriculados = [m.aluno for m in lista_de_matriculas] #montando lista de alunos matriculados e disponiveis alunos_matriculados = [] alunos_disponiveis = [] for aluno in alunos: if aluno.key in chaves_alunos_matriculados: alunos_matriculados.append(aluno) else: alunos_disponiveis.append(aluno) # buscando curso do BD. Usa memcache (NDB) curso = curso_key.get() #Montagem dos parametros do template values = {'curso': curso, 'matricula_salvar_url': router.to_path(salvar_matricula), 'lista_de_alunos_matriculados': alunos_matriculados, 'lista_de_alunos_disponiveis': alunos_disponiveis} _write_tmpl('templates/matricula.html', values)
def salvar(_handler, nome): aluno = Aluno(nome=nome) aluno.put() home = router.to_path(index) _handler.redirect(home)