問題タブ [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.

0 投票する
0 に答える
534 参照

python - SQLAlchemy と Flask の使用時にレコードの更新を最適化する方法

Flask と Flask-SQLAlchemy 拡張機能で SQLAlchemy を使用しています。私が混乱しているのは、レコードの更新を最適化する方法です。概念実証として、次のエンドポイントを作成しました。

すべてが思い通りに機能しますが、既存の本のレコードを更新するとき、SQLAlchemy は次の 3 つのクエリを実行します。

  1. SELECT book.id AS book_id, book.title AS book_title FROM book WHERE book.id = ?
  2. UPDATE ブック SET タイトル=? WHERE book.id = ?
  3. SELECT book.id AS book_id, book.title AS book_title FROM book WHERE book.id = ?

SQLAlchemy が 3 つすべてのクエリを作成する理由は理解できますが、単純に 1 つのレコードを更新するには少し過剰に思えます。ここで発生するクエリの量を最適化する方法はありますか?

(注として、私は、慣例に基づいてテンプレートをレンダリングするために、エンドポイントにいくつかのラップを持っています。これが、表示されない理由ですrender_template)

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

python - データモデルを更新する

たとえば、次のようなデータモデル(クラス)があります。

現在、このテーブルには多くのレコードがあり、たとえば電子メール アドレスを保存するためにフィールドを追加したいと考えています。

ドキュメントを検索しましたが、これを行うための推奨される方法が見つかりませんでした。MySql を手動で更新し、フィールドをモデルに追加しました。フィールドを正しく宣言すると、ほとんどの場合動作します。

これを行うための「ベストプラクティス」はありますか? SQLAlchemy には、テーブル定義を更新するサポートが組み込まれていますか?

0 投票する
3 に答える
17836 参照

python - クラスにテーブルまたはテーブル名が指定されておらず、既存のテーブルマップクラスから継承していません

python/flaskに新しいテーブルを追加しようとしたとき-

これがテーブルスキーマです-

インタラクティブなPythonシェルにアクセスするとfrom myapp import db ;、このエラーメッセージが表示されました。

これを修正する方法についての考え

0 投票する
5 に答える
287156 参照

python - SQLAlchemy の行エントリを更新するには?

テーブルに 、 、 の 3 つの列がusernameあるpasswordとしno_of_loginsます。

ユーザーがログインしようとすると、次のようなクエリを含むエントリがチェックされます

パスワードが一致する場合、彼はさらに先に進みます。私がやりたいことは、ユーザーがログインした回数を数えることです。したがって、彼がログインに成功するたびに、no_of_loginsフィールドをインクリメントしてユーザーテーブルに保存したいと思います。SqlAlchemy で更新クエリを実行する方法がわかりません。

0 投票する
2 に答える
81146 参照

python - Flask-SQLAlchemyのインポート/コンテキストの問題

Flaskアプリを次のように構成したいと思います。

apps.membersフラスコの青写真です。

ここで、モデルクラスを作成するには、次のようなアプリを保持する必要があります。

しかし、そのモデルをBlueprintアプリにインポートしようとすると、恐ろしいことになりRuntimeError: working outside of request contextます。ここでアプリを正しく入手するにはどうすればよいですか?相対インポートは機能する可能性がありますが、かなり醜く、独自のコンテキストの問題があります。例:

0 投票する
4 に答える
15558 参照

python - Flask-SQLAlchemy nullable=False

簡単な登録フォームを作成するために、Flask と Flask-SQLAlchemy 拡張機能をいじっています。私の User クラスでは、属性 "email" を nullable=False に設定していますが、サイトでフォームを電子メールを含めずにテストすると、期待どおりに例外をスローする代わりに、新しいユーザーがデータベースに保存されます。なぜそれが起こっているのですか?ご覧いただきありがとうございます。

コードは次のとおりです。

0 投票する
2 に答える
5633 参照

python - WTFormsとSQLAlchemyを使用して多対多のデー​​タを更新するにはどうすればよいですか?

FlaskFrameworkを使用したアプリのビルドに小さな問題があります。

単純なユーザー+権限モジュールを作成しようとしています。それをアーカイブするために、UsersテーブルとPermissionsテーブルの間に多対多の関係があります。

これが私のモデル、フォーム、ルートです

モデル

ルート

追加アクションは完全に機能し、リレーションは追加されていますが、ユーザーを編集しようとすると、このエラーが発生します。

トレースバック

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

python - Flaskを使用する多対多-SQLAlchemyは実行される代わりに生のSQLを返します

sqlalchemyでPythonフレームワークフラスコを使用しています。

私の多対多は次のようになります。

今私がするなら

collection.questionsは質問のリストを返しませんが、代わりに次のクエリを返します。

どんな助けでも大いに感謝されるでしょう!

ありがとう

0 投票する
4 に答える
36317 参照

python - SqlAlchemy は、DateTime 列の datetime.datetime.now 値を受け入れません

最初に、Flask-SqlAlchemy を通じて SqlAlchemy を使用していることに言及する必要があります。これが問題に影響するとは思いませんが、影響がある場合はお知らせください。

SqlAlchemy で create_all 関数を実行したときに表示されるエラー メッセージの関連部分を次に示します。

InterfaceError: (InterfaceError) Error binding parameter 4 - probably unsupported type. u'INSERT INTO podcasts (feed_url, title, url, last_updated, feed_data) VALUES (?, ?, ?, ?, ?)' (u'http://example.com/feed', u'Podcast Show Title', u'http://example.com', '2012-04-17 20:28:49.117000'

これが私のモデルです:

誰かがこれを機能させる方法を教えてもらえますか? 次のモデルも試しましたが、それも機能しません。同じエラー。

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

python - リンクテーブル/モデルのない多対多の関係

モデルUserとモデルがありThingます。AUserは0個以上Thingのを所有できます。AThingは0個以上Userのsによって所有されている可能性があります。通常、 sをsにThing_Ownershipリンクする3番目のテーブルを追加しますが、SQLAlchemyのbackref機能を利用して、インスタンスがある場合に、に属するsのリストを取得できるようにします。UserThingUsergeorgegeorge.inventoryThinggeorge

これを実行するための最良の方法は何ですか、または3番目のモデルを追加して、関連する関係User.inventoryの3番目のモデルの検索として実装する必要がありますか?Thing_Ownership