モデル

1791 ワード

Flaskモデル
Flaskのデフォルトでは、データベース操作のAPIは提供されていません.
私たちは自分のプロジェクトに適したデータベースを選択して使用することができます.
Flaskでは独自にデータを選択したり、原生文で機能を実現したり、ORM(SQLAlchemy,MongoEngine)を選択したりすることができます.
SQLAlchemyは強力なリレーショナル・データベース・フレームワークであり、複数のデータベース・バックグラウンドをサポートしています.SQLAlchemyは、高レベルのORMを提供し、データベースの元のSQLを使用する低層機能も提供しています.
ORM:
            SQL
  
       ,        SQL
         
        ,          
        

Flaskのサポートに対して、公式サイトのアドレス
pip install flask-sqlalchemy

ドライバのインストール
pip install pymysql

SQLALchemyの初期化
from flask_sqlalchemy import SQLALchemy

app = Flask(__name__)
db = SQLAlchemy(app)

データベースの設定
# dialect + driver://username:password@host:port/database
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:[email protected]:3306/flask'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

モデルの定義
modelsを作成する.pyファイル、モデルを定義する
from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

class User(db.Model):
    #     tablename  ,        user(     )
    __tablename__ = 'user'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    username = db.Column(db.String(10),unique=True,nullable=False)
    password = db.Column(db.String(128),nullable=False)

ここで、Integerは作成したs_を表します.idフィールドのタイプは整形、primary_keyはプライマリ・キーStringがフィールドを文字列uniqueがフィールドを表す唯一のdefaultがデフォルト値autoincrementが自己増加を表すかどうかを示す
データテーブルの作成
ビュー関数にmodelsを導入する.pyで定義されたdb
from user.models import db, User

@user_blueprint.route('/create_db/')
def create_db():
    db.create_all()
    return '     '

そのうち:db.create_all()は、定義モデルの作成でデータベースに対応するテーブルを表します.