数据库

2018-12-03  本文已影响0人  菜田的守望者w

from flask import Flask

from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

# 配置数据库地址

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://wan:myspl@127.0.0.1/flask_sql_demo'

# 跟踪数据库的修改-->不建议开启未来的版本中会移除

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db = SQLAlchemy(app)

"""

两张表

角色(管理员/普通用户)

用户(角色ID)

"""

# 数据库模型,需要继承db.Model

class Role(db.Model):

    # 定义表名

    __tablename__ = 'roles'

    # 定义字段

    # db.Model表示一个字段

    id = db.Column(db.Integer, primary_key=True)

    name = db.Column(db.String(16), unique=True)

    # 写关联

    # users = db.relationship('User'):表示和User模型发生了关联,增加一个users属性

    # backref='role':表示role是User要用的属性

    users = db.relationship('User', backref='role')

    # 用__repr__打印一个可读字符串

    def __repr__(self):

        return '<Role: %s %s' % (self.name, self.id)

class User(db.Model):

    __tablename__ = 'users'

    id = db.Column(db.Integer, primary_key=True)

    name = db.Column(db.String(16), unique=True)

    email = db.Column(db.String(32), unique=True )

    # db.ForeignKey('role.id')表示外键,表名.id

    role_id = db.Column(db.Integer, db.ForeignKey('role.id'))

@app.route('/')

def hello_world():

    return 'Hello World!'

if __name__ == '__main__':

    # 删除表

    db.drop_all()

    # 创建表

    db.create_all()

    app.run()

上一篇 下一篇

猜你喜欢

热点阅读