問題タブ [sqlalchemy-migrate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2760 参照

postgresql - SQLAlchemy は、テーブルに次の列がないことを示唆しています: ProgrammingError: (psycopg2.ProgrammingError) column Canada.address が存在しません

完全に独立した、Users、Canada、France、Germany の 4 つのテーブルがあります。私は(私が信じている)それらをデータベースに追加しました。しかし、ユーザー以外のすべてのデータベースの列は、そこにあるにもかかわらずクエリできないようです。(それらをクエリすることはできますが、fliter()、all()、first() を使用したり、クエリの結果を反復処理したりすることはできません。) 問題は、この declarative_base を使用する必要があることでしょうか?

ユーザーを追加し、Web フォームを使用して問題なくクエリを実行できます。

しかし、カナダのデータベースを追加しようとすると (追加する前に既に存在するかどうかを確認します)、クエリが失敗します。

出力は次のとおりです。

コードを別のファイルに移動したり、「エンジン」を含むコードを追加したり、カナダの列の名前を変更したり、カナダの名前を変更したりなど、何十ものことを試しましたが、問題は解決していないようです。私が気付いたことの 1 つは、私が従ったすべてのチュートリアルで、データベース内の 1 つのテーブルしか使用されていないことです。それが問題の核心にあるのかどうか疑問に思っています。複数の独立したテーブルを使用するためのガイダンスを見つけることができませんでした。

柱が立っているようです。

私のスクリプトがユーザーの列を照会できるのに、カナダの列を照会できない理由がわかりません。

では、なぜ SQLAlchemy は列が見つからないクエリを生成するのでしょうか?

するとheroku run python、次のように表示されます。

ユーザーとカナダの間には、決定的に異なるものがあります。