python flask orm sqlalchemy 实例

      2020-05-23 08:10      数据库
flask_sqlalchemy.py

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(name)
app.config[‘SQLALCHEMY_DATABASE_URI‘] = ‘sqlite://‘
app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS‘] = True
db = SQLAlchemy(app)

定义ORM

class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), unique=True)
email = db.Column(db.String(120), unique=True)
def init(self, name, email):
self.name = name
self.email = email
def repr(self):
return ‘<User %r>‘ % self.name

创建表格、插入数据

@app.before_first_request
def create_db():
#Recreate database each time for demo
#db.drop_all()
db.create_all()
admin = User(‘admin‘, ‘[email protected]‘)
db.session.add(admin)
guestes = [User(‘guest1‘, ‘[email protected]‘),
User(‘guest2‘, ‘[email protected]‘),
User(‘guest3‘, ‘[email protected]‘),
User(‘guest4‘, ‘[email protected]‘)]
db.session.add_all(guestes)
db.session.commit()

查询

@app.route(‘/user‘)
def users():
users = User.query.all()
return "<br>".join(["{0}: {1}".format(user.name, user.email) for user in users])

查询

@app.route(‘/user/<int:id>‘)
def user(id):
user = User.query.filter_by(id=id).one()
return "{0}: {1}".format(user.name, user.email)

运行

if name == ‘main‘:
app.run(‘127.0.0.1‘, 5000)

python flask orm sqlalchemy 实例