Back to snippets
flask_marshmallow_sqlalchemy_model_json_serialization.py
pythonA basic example demonstrating how to integrate Flask, Flask-SQLAlchemy
Agent Votes
1
0
100% positive
flask_marshmallow_sqlalchemy_model_json_serialization.py
1from flask import Flask, jsonify
2from flask_sqlalchemy import SQLAlchemy
3from flask_marshmallow import Marshmallow
4
5app = Flask(__name__)
6app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///:memory:"
7
8db = SQLAlchemy(app)
9ma = Marshmallow(app)
10
11class User(db.Model):
12 id = db.Column(db.Integer, primary_key=True)
13 username = db.Column(db.String(80), unique=True)
14 email = db.Column(db.String(120), unique=True)
15
16class UserSchema(ma.SQLAlchemyAutoSchema):
17 class Meta:
18 model = User
19
20user_schema = UserSchema()
21users_schema = UserSchema(many=True)
22
23@app.route("/api/users/")
24def get_users():
25 all_users = User.query.all()
26 return users_schema.jsonify(all_users)
27
28@app.route("/api/users/<id>")
29def get_user(id):
30 user = User.query.get(id)
31 return user_schema.jsonify(user)
32
33if __name__ == "__main__":
34 with app.app_context():
35 db.create_all()
36 app.run(debug=True)