Nesse código preciso criar uma lista com os dados do DB que são lidos no Python pela classe Aluno
Trecho do código que necessita imprimir a lista que foi inserida no DB com um INSERT
class Aluno(object):
def update_aluno(self, nome_aluno, id_curso, data_nascimento_aluno, email_aluno, telefone_aluno):
""" atualiza informações do aluno baseado no id_aluno """
sql = """ UPDATE Aluno
SET nome_aluno = %s
SET id_curso = %s
SET data_nascimento_aluno = %s
SET email_aluno = %s
SET telefone_aluno = %s
WHERE id_curso = %s"""
conn = None
updated_rows = 0
try:
# read database configuration
params = config(filename="/database.ini")
# connect to the PostgreSQL database
conn = psycopg2.connect(**params)
# create a new cursor
cur = conn.cursor()
# execute the UPDATE statement
cur.execute(sql, (nome_aluno, id_curso, data_nascimento_aluno, email_aluno, telefone_aluno))
# get the number of updated rows
updated_rows = cur.rowcount
# Commit the changes to the database
conn.commit()
# Close communication with the PostgreSQL database
cur.close()
except (Exception, psycopg2.DatabaseError) as error:
print(error)
finally:
if conn is not None:
conn.close()
return updated_rows
Trecho do código que executa e solicita informações ao usuário:
elif lista_selecionada == 2:
print("Confira a lista de alunos da Escola: n")
estudante = Aluno()
estudante.lista_estudante()
id_estudante = int(input("Digite a matrícula do aluno que deseja atualizar: n"))
nome_aluno = input("Digite o novo nome do aluno: n")
is_curso = input("Digite o curso 3 para Fundamental e 4 para Fundamental 2: n")
data_nascimento_aluno = input("Digite a nova data de nascimento do aluno: n")
email_aluno = input("Digite o novo e-mail do aluno: n")
telefone_aluno = input("Digite o novo telefone do aluno: n")
estudante.update_aluno(matricula_aluno = id_estudante, id_curso=is_curso, nome_aluno=nome_aluno, data_nascimento_aluno = data_nascimento_aluno, email_aluno = email_aluno, telefone_aluno=telefone_aluno)
Entendi que preciso fazer um referência a estudante.lista_estudante() na classe, só que não tenho ideia de como, podem me ajudar?