数据库

作者: 菜田的守望者w | 来源:发表于2018-12-06 14:30 被阅读0次

    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()

    相关文章

      网友评论

          本文标题:数据库

          本文链接:https://www.haomeiwen.com/subject/ozhocqtx.html