DjangoをSQLAlchemyと組み合わせて使用しています。すべてのテーブル宣言を同じメタデータに入れるという問題があります。異なるパッケージにいくつかのモジュールがあり、宣言型メソッドを使用したテーブル宣言があります。一部のテーブルには関係があります。コマンドを実行するcreate_all
と、異なるパッケージで参照されているテーブルがメタデータに存在しないため、エラーが発生しました。
より正確には、これはその検証を実行するSQLAlchemyのコード行です。
if _get_table_key(tname, schema) not in parenttable.metadata:
raise exc.NoReferencedTableError(
"Foreign key associated with column '%s' could not find "
"table '%s.%s' with which to generate a "
"foreign key to target column '%s'" % (schema, self.parent, tname, colname),
tname)
table = Table(tname, parenttable.metadata,
mustexist=True, schema=schema)
私はこれで迷子になりました。私はすでにドキュメントといくつかの投稿を読みましたが、答えが見つかりませんでした。
外部テーブルモジュールを既存のメタデータにアタッチする方法はありますか?
ありがとう。