class MyTable(db.Model):
__table_args__ = {'mysql_collate': 'utf8mb4_bin'}
db.Column(db.String(20,collation='utf8mb4_bin'), nullable=False)
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.orm import backref
app = Flask(__name__)
app.config[
'SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:tangsiqi123A@127.0.0.1:3306/test01?charset=utf8mb4'
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app)
class User(db.Model):
__tablename__ = 'user'
__table_args__ = {'mysql_collate': 'utf8mb4_bin'}
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
username= db.Column(db.String(50),nullable=False)
def __repr__(self):
return "<Tag(title:%s)>" % self.title
class Article(db.Model):
__tablename__ = 'article'
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
title= db.Column(db.String(50,collation='utf8mb4_bin'),nullable=False)
uid = db.Column(db.Integer,db.ForeignKey("user.id"))
author = db.relationship("User",backref = backref("articles",cascade="save-update,delete"),cascade="save-update")
def __repr__(self):
return "<Article(title:%s)>" % self.title
db.drop_all()
db.create_all()
@app.route("/")
def hello_world():
return "<p>Hello,World!</p>"
@app.route("/add_data")
def add_data():
user = User(username="lisi")
article = Article(title = "article2")
db.session.add(user)
db.session.add(article)
db.session.commit()
return "ok"
if __name__ == '__main__':
app.run(port=80, debug=True)