Python--ORMフレームワーク
2220 ワード
# , . pyton , list
# list tuple, . id name user
# [
# ('1', 'Michael'),
# ('2', 'Bob'),
# ('3', 'Adam')
# ]
# Python DB-API .
# tuple . tuple class ,
# class User(object):
# def __init__(self, id, name):
# self.id = id
# self.name = name
# ORM : Object-Relational Mapping, .
# , ORM .
# Python , ORM SQLAlchemy. SQLAlchemy .
from sqlalchemy import Column, String, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
#
__tablename__ = 'user'
#
id = Column(String(20), primary_key=True)
name = Column(String(20))
#
engine = create_engine('mysql+mysqlconnector://root:111111@localhost:3306/test')
# DBSession
DBSession = sessionmaker(bind=engine)
# create_engine .
# SQLAlchemy ' + :// : @ : / '
# # session :
# session = DBSession()
# # User
# new_user = User(id='5', name='Bob')
# # session
# session.add(new_user)
# #
# session.commit()
# # session
# session.close()
# session, session, .(DBSession , )
#
session = DBSession()
# Query , filter where , one() , all() .
user = session.query(User).filter(User.id=='5').one()
print('type:', type(user))
print('name:', user.name)
session.close()
# ORM , .
# , , , ORM , .
# , User Book,
# 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)
# nam = Column(String(20))
# user_id = Column(String(20), ForeignKey('user.id'))