2012-02-01 5 views
19

が簡素化されたクラス名を見つけることができない、私は(1つのファイルに)次のクラス構造を持っていますPythonがItemクラスを見つけられないことを確かめてください。文字列ではなくクラスを渡しても、同じエラーが発生します。私はSQLAlchemyとの単純な関係をどのように行うのかの例を見つけるのに苦労しています。ここではかなり間違っていることがありましたらお詫び申し上げます。SQLAlchemyのは

+1

この回答は役に立ちます:http://stackoverflow.com/questions/7478403/sqlalchemy-classes-across-files –

+0

この回答は役に立つかもしれません:http://stackoverflow.com/a/4235691/232794 – Sardathrion

答えて

17

これはすべて、私がPyramidでSQLAlchemyを設定したためです。基本的には、this sectionを手紙に従わせて、それぞれのモデルの基本クラスとして同じdeclarative_baseインスタンスを使用することを確認する必要があります。

また、私はDBSessionにデータベースエンジンをバインドしていませんでした。テーブルエンジンのメタデータにアクセスしようとすると、関係を使用すると問題が発生します。

0

また、これはOPには当てはまりませんが、同じエラーが発生した場所に着陸する人は、テーブル名にダッシュが含まれていないことを確認してください。

たとえば、SQLAlchemyリレーションシップでセカンダリとして使用される "movie-genres"という表は、ダッシュまでしか読み込まれないため、同じエラー"name 'movie' is not defined"を生成します。ダッシュの代わりにアンダースコアに切り替えると、問題が解決します。