POST-запрос выполнен успешно, и данные отправлены в базу данных, но я всегда получаю эту ошибку.
TypeError: Object of type User is not JSON serializable
Попытка сделать это __dict__
, но это только что вызвало различные ошибки.Как остановить эту ошибку?
В моем файле schema.py
from flask import Flask
from app import db, ma
import os
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
first_name = db.Column(db.String(30), unique=False)
last_name = db.Column(db.String(30), unique=False)
email = db.Column(db.String(120), unique=True)
specialization = db.Column(db.String(50), unique=False)
user_type = db.Column(db.String(20), unique=False)
def __init__(self, first_name, last_name, email, specialization, user_type):
self.first_name = first_name
self.last_name = last_name
self.email = email
self.specialization = specialization
self.user_type = user_type
class UserSchema(ma.Schema):
class Meta:
# Fields to expose
fields = ('first_name', 'last_name', 'email', 'specialization', 'user_type')
user_schema = UserSchema()
users_schema = UserSchema(many=True)
В моем файле app.py
from flask import Flask, render_template, request, jsonify
from flask_bootstrap import Bootstrap
from flask_sqlalchemy import SQLAlchemy
from flask_marshmallow import Marshmallow
@APP.route("/patient", methods=["POST"])
def add_appointment():
first_name = request.json['first_name']
last_name = request.json['last_name']
email = request.json['email']
specialization = request.json['specialization']
user_type = request.json['user_type']
new_user = schema.User(first_name, last_name, email, specialization, user_type)
schema.db.session.add(new_user)
schema.db.session.commit()
return jsonify(new_user)
Я запускаю свое приложение фляги извиртуальная среда на Raspberry Pi и подключение к базе данных MySQL Google cloud (если это имеет какое-либо значение).