2009-09-16 83 views

回答

1

查詢現有關係與創建新關係並無太大區別。你幾乎寫了相同的代碼,但指定了已經存在的表名和列名,當然你不需要SQLAlchemy來發出CREATE TABLE語句。

請參閱http://www.sqlalchemy.org/docs/05/mappers.html#many-to-many。您只需爲示例中的現有父,子和關聯表指定外鍵列,然後指定autoload=True以填寫表中的其他字段。如果您的關聯表存儲額外的信息,就像他們幾乎總是這樣做的那樣,您應該將您的多對多關係分解爲兩個多對一的關係。

我在使用MySQL時學習了SQLAlchemy。有了這個數據庫,我總是必須指定外鍵關係,因爲它們不是顯式的數據庫約束。您可能會感到幸運,並能夠從數據庫中反映出更多,但您可能更喜歡使用類似http://pypi.python.org/pypi/sqlautocode的代碼來編寫整個數據庫模式並避免反射延遲。

相關問題