sqlalchemy一个程序

from sqlalchemy import *
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import *

Base = declarative_base(engine=create_engine('postgres://solar:123456@localhost:5432/mydb',echo=True))

class MyParent(Base):
    __tablename__ = 'parent'
    id = Column(Integer, primary_key=True)
    name = Column(String(50))
    _collection = dynamic_loader("MyChild", cascade="all, delete-orphan")

class MyChild(Base):
    __tablename__ = 'child'
    id = Column(Integer, primary_key=True)
    key = Column(String(50))
    parent_id = Column(Integer, ForeignKey('parent.id'))

Base.metadata.create_all()

from pynets import MyChild
from pynets import MyParent
from sqlalchemy import *
from sqlalchemy.orm import *

if __name__ == "__main__":
    Session = sessionmaker()
    session = Session()
    p = session.query(MyParent).filter_by(id=3).one()
#    p = MyParent(id=3)
    p._collection.append(MyChild(key='w'))
    session.add(p)
    session.commit()

你可能感兴趣的:(orm,ext)