python - web框架 - Flask Mysql 创建表的外键

来源:互联网 发布:淘宝小家电 编辑:程序博客网 时间:2024/06/09 15:23

代码:

from flask import Flask, render_template, session, redirect, url_for, flashfrom flask.ext.bootstrap import Bootstrapfrom flask.ext.wtf import Formfrom wtforms import StringField, SubmitFieldfrom wtforms.validators import Required, Lengthfrom flask.ext.sqlalchemy import SQLAlchemyapp = Flask(__name__)username='qatest'password='qatest'server='122.30.100.12:3388'dbname='qatest'app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://'+username+':'+password+'@'+server+'/'+dbnameapp.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = Truedb = SQLAlchemy(app)class Role(db.Model):    __tablename__ = 'py_roles'    id = db.Column(db.Integer,primary_key=True)    name = db.Column(db.String(64),unique=True)    users = db.relationship('User',backref='role')    def __repr__(self):        return '<Role %r>' % self.nameclass User(db.Model):    __tablename__ = 'py_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('py_roles.id'))    def __repr__(self):        return '<User %r>' % self.usernameif __name__ == '__main__':    db.create_all()
db.relationship()中的backref参数向User模型中添加一个role属性,从而定义反向关系。

db.ForeignKey()参数 'py_roles.id'表明,这一列与py_roles建立外键关系,对应py_roles表的id列

0 0
原创粉丝点击