Tem um código em python utilizando o framework Flask e estou com um problema para serializar os dados que vem do banco para um Json para poder retornar para o meu front-end.
Esse é meu código:
Arquivo com as rotas.
from app import app, db
from flask import render_template, jsonify, request
from app.models.models import Usuario
@app.route("/")
def index():
return render_template("index.html")
@app.route("/salvar", methods=['POST'])
def salvar():
json = request.get_json()
nome = json['nomeU']
email = json['emailU']
telefone = json['telefoneU']
user = Usuario(nome, email, telefone)
db.session.add(user)
db.session.commit()
return jsonify(nomeU=nome, emailU=email)
@app.route("/listar", methods=['GET'])
def listar():
dados = Usuario.query.all()
return jsonify(usuarios=dados)
Classe do Usuário:
from app import db
class Usuario(db.Model):
__tablename__ = 'Usuario'
idUsuario = db.Column(db.Integer, primary_key=True, autoincrement=True)
nome = db.Column(db.String(70), unique=True, nullable=False)
email = db.Column(db.String(100), unique=True, nullable=False)
telefone = db.Column(db.String(10), unique=True)
def __init__(self, nome, email, telefone):
self.nome = nome
self.email = email
self.telefone = telefone
def to_dict(self):
return self.__dict__
Esse é o erro que está dando:
TypeError: <Usuario 1> is not JSON serializable
Está dando erro na rota “/listar”. Alguém pode me ajudar?