时间:2021-07-01 10:21:17 帮助过:2人阅读
pip install flask-sqlalchemy pymysql
from flask.ext.sqlalchemy import SQLAlchemy from flask import Flask ‘‘‘配置数据库‘‘‘ app = Flask(__name__) app.config[‘SECRET_KEY‘] =‘hard to guess‘ # 这里登陆的是root用户,要填上自己的密码,MySQL的默认端口是3306,填上之前创建的数据库名jianshu,连接方式参考 # http://docs.sqlalchemy.org/en/latest/dialects/mysql.html app.config[‘SQLALCHEMY_DATABASE_URI‘]=‘mysql+pymysql://jianshu:jianshu@127.0.0.1:3306/jianshu‘ #设置这一项是每次请求结束后都会自动提交数据库中的变动 app.config[‘SQLALCHEMY_COMMIT_ON_TEARDOWN‘]=True #实例化 db = SQLAlchemy(app)
‘‘‘定义模型,建立关系‘‘‘
class Role(db.Model):
# 定义表名
__tablename__ = ‘roles‘
# 定义列对象
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(64), unique=True)
user = db.relationship(‘User‘, backref=‘role‘)
#repr()方法显示一个可读字符串,虽然不是完全必要,不过用于调试和测试还是很不错的。
def __repr__(self):
return ‘<Role {}> ‘.format(self.name)
class User(db.Model):
__tablename__ = ‘users‘
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), unique=True, index=True)
role_id = db.Column(db.Integer, db.ForeignKey(‘roles.id‘))
def __repr__(self):
return ‘<User {}>‘.format(self.username)


关系数据库通过使用关系在不同的表中建立连接。关系图表达了用户和用户角色之间的简单关系。这个角色和用户是一对多关系,因为一个角色可以从属于多个用户,而一个用户只能拥有一个角色。
下面的模型类展示了中表达的一对多关系。
class Role(db.Model): # ... users = db.relationship(‘User‘, backref=‘role‘) class User(db.Model): # ... role_id = db.Column(db.Integer, db.ForeignKey(‘roles.id‘))


#!/usr/bin/env python
from exts import db
from datetime import datetime
class User(db.Model):
__tablename__ = ‘user‘
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
username = db.Column(db.String(50),nullable=False)
telephone = db.Column(db.String(11),nullable=False)
password = db.Column(db.String(100), nullable=False)
class Questions(db.Model):
__tablename__ = ‘questions‘
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
title = db.Column(db.String(100),nullable=False)
content = db.Column(db.Text,nullable=False)
create_time = db.Column(db.DateTime,default=datetime.now)
author_id = db.Column(db.Integer,db.ForeignKey(‘user.id‘))
author = db.relationship(‘User‘,backref=db.backref(‘questions‘))
class Answer(db.Model):
__tablename__ = ‘answer‘
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
content = db.Column(db.Text,nullable=False)
question_id = db.Column(db.Integer,db.ForeignKey(‘questions.id‘))
author_id = db.Column(db.Integer,db.ForeignKey(‘user.id‘))
question = db.relationship(‘Questions‘,backref = db.backref(‘answers‘))
author = db.relationship(‘User‘,backref = db.backref(‘answers‘))
flask + pymysql操作Mysql数据库
标签:连接 ima default 一个 creat _id imp alt root