1
我自動加載MSSQL數據庫。有幾個ManyToMany關聯表。我不知道如何映射每一面。以下是他們在DB如何看一個典型的例子:SQLAlchemy - 如何使用自動加載關聯表映射ManyToMany
Table: tbUsersToGroups
PK: ID_UserToGroup
FK: User_ID
FK: Group_ID
所以我可以成功地自動加載該assoc命令表,並按照以下的用戶和組表,但一切我試圖向兩側映射失敗。
class UserToGroup(Base):
__tablename__ = 'tbUsersToGroups'
__table_args__ = {'autoload':True,'extend_existing':True,'schema':'dbo'}
和
class User(Base):
__tablename__ = 'tbUsers'
__table_args__ = {'autoload':True,'schema':'dbo'}
和
class Group(Base):
__tablename__ = 'tbGoups'
__table_args__ = {'autoload':True,'schema':'dbo'}
任何幫助將是巨大的。
感謝@TokenMacGuy。當我嘗試你的第一個例子時,我得到一個InvalidRequestError(基本上)說'tbUsersToGroups'沒有被定義。所以然後我嘗試定義一個自動加載類'UserToGroup',但後來我得到一個AttributeError'UserToGroup'沒有foreign_keys。但是我可以通過在UserToGroup().__ table __。foreign_keys:f'中爲f來查看外鍵。任何線索? – MFB
我不經常使用'autoload'而沒有完整的數據庫反射,所以我錯過了對錶格聲明的需求;請參閱我的編輯。 – SingleNegationElimination
我不能在此實例中使用完整數據庫反射的唯一原因(除非您知道解決此問題的方法)是有兩次,我必須覆蓋由服務器生成的MSSQL TIMESTAMP列的列定義,這意味着SA無法插入。無論如何,我現在給你編輯的版本。再次感謝 – MFB