标签:连接 ima default 一个 creat _id imp alt root
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‘))
标签:连接 ima default 一个 creat _id imp alt root
原文地址:http://www.cnblogs.com/caicairui/p/7821559.html