且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SQLAlchemy 声明性 - SQL Server 中的架构和外键/主键

更新时间:2022-12-23 10:47:42

为此需要的成分是 __table_args__ForeignKey 上架构前缀的使用>

The ingredients needed for this are __table_args__ and the use of the schema prefix on the ForeignKey

DBSession = sessionmaker(bind=engine)
session = DBSession()

from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import relationship

Base = declarative_base()

class Table1(Base):
    __tablename__ = 'table1'
    __table_args__ = {"schema": 'my_schema'}

    id = Column(Integer,primary_key = True)
    col1 = Column(String(150))
    col2 = Column(String(100))

    reviews = relationship("Table2", cascade = "delete")  

class Table2(Base):
    __tablename__ = 'table2'
    __table_args__ = {"schema": 'my_schema'}

    id = Column(Integer,primary_key = True)
    key = Column(Integer)
    col2 = Column(String(100))



    key = Column(Integer, ForeignKey("my_schema.table1.id"), index=True)  
    premise = relationship("Table1") 


Base.metadata.create_all(bind=engine)