PythonではORMフレームワークとしてSQLAlchemyを使用

1669 ワード

SQLAlchemyはPythonで最も有名なORMフレームワークです.
SQLAlchemyのインストール:
$ pip install sqlalchemy

SQLAlchemyをインポートし、DBSessionを初期化します.
from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base

#        :
Base = declarative_base()

#   User  :
class User(Base):
    #     :
    __tablename__ = 'user'

    #     :
    id = Column(String(20), primary_key=True)
    name = Column(String(20))

#         :
engine = create_engine('mysql+mysqlconnector://root:root@localhost:3306/test')
#   DBSession  :
DBSession = sessionmaker(bind=engine)

データベース・テーブルにレコードを追加するには、次の手順に従います.
#   session  :
session = DBSession()
#    User  :
new_user = User(id='5', name='Bob')
#    session:
session.add(new_user)
#          :
session.commit()
#   session:
session.close()

クエリーデータ:
#   Session  :
session = DBSession()
#   Query  :
user = session.query(User).filter(User.id=='5').one()
#         name  :
print('type:', type(user))
print('name:', user.name)
#   Session:
session.close()

1対の複数の関係を定義するには、次のようにします.
class User(Base):
    __tablename__ = 'user'

    id = Column(String(20), primary_key=True)
    name = Column(String(20))
    #    :
    books = relationship('Book')

class Book(Base):
    __tablename__ = 'book'

    id = Column(String(20), primary_key=True)
    name = Column(String(20))
    # “ ”            user  :
    user_id = Column(String(20), ForeignKey('user.id'))