ホームページ  >  記事  >  バックエンド開発  >  Flask SQLAlchemy の 1 対 1 および 1 対多の使用方法の実践

Flask SQLAlchemy の 1 対 1 および 1 対多の使用方法の実践

WBOY
WBOYオリジナル
2016-06-16 08:46:481212ブラウズ

Flask-SQLAlchemyのインストールとテーブル作成の操作についてはこちらを参照してください。

コードをコピー コードは次のとおりです:

# ロール テーブル
クラス ロール(db.Model):
id =db.Column(db.Integer,primary_key=True)
name=db.Column(db.String(80))

# RoleType テーブル
class role_type(db.Model ):
query_class=Common_list_name_Query
id=db.Column(db.Integer,primary_key=True)
name=db.Column(db.String(120))

1 対 1
属性の定義を変更するだけです

コードをコピー コードは次のとおりです:

# ロール テーブル
クラス ロール(db.Model):
role_type_id =db.Column(db.Integer,db.ForeignKey('role_type.id'))

role=db.relationship('Role',backref='role_type',lazy='dynamic' 、uselist= False)

1 対多

コードをコピー コードは次のとおりです:

# 1 対多では、2 つの間の相互関係を埋める必要があります。テーブル
クラスのRole(db.Model):
role_type_id=db.Column(db.Integer,db.ForeignKey('role_type.id'))

クラスのRole_type(db.Model):
role=db.relationship('Role',backref='role_type',lazy='dynamic')

特定のパラメータについては、次のドキュメントを参照してください:
http://flask.pocoo.org/docs/patterns/sqlalchemy/
http://packages.python.org/Flask-SQLAlchemy/

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。