モデル
1791 ワード
Flaskモデル
Flaskのデフォルトでは、データベース操作のAPIは提供されていません.
私たちは自分のプロジェクトに適したデータベースを選択して使用することができます.
Flaskでは独自にデータを選択したり、原生文で機能を実現したり、ORM(SQLAlchemy,MongoEngine)を選択したりすることができます.
SQLAlchemyは強力なリレーショナル・データベース・フレームワークであり、複数のデータベース・バックグラウンドをサポートしています.SQLAlchemyは、高レベルのORMを提供し、データベースの元のSQLを使用する低層機能も提供しています.
ORM:
Flaskのサポートに対して、公式サイトのアドレス
ドライバのインストール
SQLALchemyの初期化
データベースの設定
モデルの定義
modelsを作成する.pyファイル、モデルを定義する
ここで、Integerは作成したs_を表します.idフィールドのタイプは整形、primary_keyはプライマリ・キーStringがフィールドを文字列uniqueがフィールドを表す唯一のdefaultがデフォルト値autoincrementが自己増加を表すかどうかを示す
データテーブルの作成
ビュー関数にmodelsを導入する.pyで定義されたdb
そのうち:db.create_all()は、定義モデルの作成でデータベースに対応するテーブルを表します.
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()は、定義モデルの作成でデータベースに対応するテーブルを表します.