問題タブ [flask-sqlalchemy]
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.
sqlalchemy - Flask-SQLAlchemy で再利用可能なコンポーネントを作成するにはどうすればよいですか?
Flask アプリの一部を引き出して、複数の異なるプロジェクトで使用したいとしましょう。ビューとテンプレートだけでなく、Flask-SQLAlchemy を使用した SQLAlchemy モデルもあります。モジュールを使用して app.route デコレータを取得できますが、SQLAlchemy db オブジェクトをどのように処理できますか?
コンポーネントを分離する必要があるため、db オブジェクトをインポートすることはできません。しかし、db オブジェクトを 2 回作成する必要はないと思います。そのメタデータをプロジェクトの残りのメタデータとどのように混合しますか?
python - 多対多の関係に基づいたSQLAlchemyの順序付け
これは私の現在のモデルの単純化された例です(私はFlask SQLAlchemy拡張機能を使用しています):
いいねPost
の数で注文しようとしています。
これは私が基本的に発行しようとしているクエリです:
SQLAlchemy側で何も機能させることができませんでした。
誰もが提供できる助けをありがとう。
python - モジュールに分割されたFlaskアプリのフォルダーレイアウトは何ですか?
私はDjangoからのFlaskを試していますが、とても気に入っています。私が遭遇した問題は1つだけです。フラスコのドキュメントと大きなアプリケーションなどに関する部分を読みました。プロジェクトをパッケージに分割する方法を説明しています。各パッケージには、独自の静的フォルダーとテンプレートフォルダー、および独自のビューモジュールがあります。問題は、Flask拡張機能を備えたSQLAlchemyを使用してモデルをそこに配置するために機能する方法を見つけることができないということです。インタラクティブプロンプトからテーブルを作成するために機能しますが、コード内で使用すると壊れます。そこで、経験豊富なFlask開発者がこれをどのように解決したかを知りたいと思いました。
python - フラスコエラー処理
私はflask-sqlalchemyによって生成されたエラーをキャッチしようとしています。残念ながら、デバッガーが最初にエラーをキャッチするため、私のコードはエラーを処理できません。一意であるはずのフィールドが重複しているデータベースにレコードを挿入しようとすると発生しますが、これを回避する方法はありますか?これはトレースバックです。
エラーを処理しようとしたときにフラスコがどのように反応するかについて言及するのを忘れました。未定義のグローバルに関連するものがあります。これがそのトレースバックです。
python - 行情報に基づいて、インスタンス化する宣言型モデルをどのように決定できますか
オプションのFacebookログインを持つWebアプリを構築しています。Facebook APIを介して作成されたユーザーは、アプリケーションのいくつかのポイントで異なる方法で処理されます。Person
これらの違いを、メソッドをオーバーライドするサブクラスにカプセル化したいと思います。
厄介なことを避けてif self.graph_id
、Personモデルにクエリを実行し、各ユーザーに適切なオブジェクトを取得したいと思います。
メタクラスをハッキングして、FacebookPersonをベースとして追加することを考えました。明らかに、私はそのようなブードゥーを避けたいと思います。
私はFlaskとFlask-SQLAlchemyを使用しています。
python - sqlalchemyでのクロスデータベース結合
SQLAlchemyにデータベース間結合を行う方法はありますか?具体的には、これが私のユースケースです。
スキーマ
- db1.entity1
- entity1_id:主キー
- entity2_id:db2.entity2.entity2_idへの外部キー
- db2.entity2
- entity2_id:主キー
モデル
モデルには宣言型のスタイルを使用しています。
さて、予想通り、Entity1のクエリは失敗し、テーブルentity2が見つからないというMySQLエラーメッセージが表示されます。私は多くの異なる組み合わせを試しまし__tablename__
たが、成功しませんでした。だから私はSQLAlchemyでそれが可能かどうか疑問に思いました。
python - SQLAlchemy:'モデル'オブジェクトは呼び出せません
sqlalchemyでFlaskフレームワークを使用していますが、結果の関連テーブルをクエリできません。
ユーザー>注文が多い>
注文があり、注文が属するユーザーにクエリを実行したいと思います。
これを呼び出すと、「User」オブジェクトを呼び出せないことがわかります。これが私の関係がどのように定義されるかです:
なぜこのエラーが発生するのか考えてみてください。
sqlalchemy - sqlalchemy クエリの問題
ユーザー更新機能があり、ユーザーがメールアドレスを変更できるようにしていますが、同じアドレスはデータベース内で一意である必要があるため、更新する前に、新しいメールがデータベースに既に存在するかどうかを確認する必要がありますが、確認に使用するクエリ同じ行を返します。例:
今私が持っている検証機能に入ります:
問題は、check
私が編集しているのと同じユーザーを保持していることです。Sqlalchemy は更新をデータベースに送信しますが、何らかのトランザクションの下で実行されるため、クエリは編集中の同じユーザーを返します。2 番目のセッション オブジェクトを作成することでこれを解決しましたが、やり過ぎのようです。より良いアイデアはありますか?私は理にかなっていますか?
python - sqlalchemyのscoped_session(sessionmaker())またはプレーンsessionmaker()?
WebプロジェクトでSQlAlchemyを使用しています。何を使用する必要がありますscoped_session(sessionmaker())
か(またはプレーンsessionmaker()
)、そしてその理由は何ですか?それとも私は何か他のものを使うべきですか?
session = Session()
リクエストごとにオブジェクトを作成し、閉じます。私は正しいことをしていますか、それともそれを行うためのより良い方法がありますか?
python - Flask-SQLalchemy は行の情報を更新します
行の情報を更新するにはどうすればよいですか?
たとえば、ID 5 を持つ行の名前列を変更したいと思います。