問題タブ [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.
python - SQLAlchemy と Flask の使用時にレコードの更新を最適化する方法
Flask と Flask-SQLAlchemy 拡張機能で SQLAlchemy を使用しています。私が混乱しているのは、レコードの更新を最適化する方法です。概念実証として、次のエンドポイントを作成しました。
すべてが思い通りに機能しますが、既存の本のレコードを更新するとき、SQLAlchemy は次の 3 つのクエリを実行します。
- SELECT book.id AS book_id, book.title AS book_title FROM book WHERE book.id = ?
- UPDATE ブック SET タイトル=? WHERE book.id = ?
- SELECT book.id AS book_id, book.title AS book_title FROM book WHERE book.id = ?
SQLAlchemy が 3 つすべてのクエリを作成する理由は理解できますが、単純に 1 つのレコードを更新するには少し過剰に思えます。ここで発生するクエリの量を最適化する方法はありますか?
(注として、私は、慣例に基づいてテンプレートをレンダリングするために、エンドポイントにいくつかのラップを持っています。これが、表示されない理由ですrender_template
)
python - データモデルを更新する
たとえば、次のようなデータモデル(クラス)があります。
現在、このテーブルには多くのレコードがあり、たとえば電子メール アドレスを保存するためにフィールドを追加したいと考えています。
ドキュメントを検索しましたが、これを行うための推奨される方法が見つかりませんでした。MySql を手動で更新し、フィールドをモデルに追加しました。フィールドを正しく宣言すると、ほとんどの場合動作します。
これを行うための「ベストプラクティス」はありますか? SQLAlchemy には、テーブル定義を更新するサポートが組み込まれていますか?
python - クラスにテーブルまたはテーブル名が指定されておらず、既存のテーブルマップクラスから継承していません
python/flaskに新しいテーブルを追加しようとしたとき-
これがテーブルスキーマです-
インタラクティブなPythonシェルにアクセスするとfrom myapp import db ;
、このエラーメッセージが表示されました。
これを修正する方法についての考え
python - SQLAlchemy の行エントリを更新するには?
テーブルに 、 、 の 3 つの列がusername
あるpassword
としno_of_logins
ます。
ユーザーがログインしようとすると、次のようなクエリを含むエントリがチェックされます
パスワードが一致する場合、彼はさらに先に進みます。私がやりたいことは、ユーザーがログインした回数を数えることです。したがって、彼がログインに成功するたびに、no_of_logins
フィールドをインクリメントしてユーザーテーブルに保存したいと思います。SqlAlchemy で更新クエリを実行する方法がわかりません。
python - Flask-SQLAlchemyのインポート/コンテキストの問題
Flaskアプリを次のように構成したいと思います。
apps.members
フラスコの青写真です。
ここで、モデルクラスを作成するには、次のようなアプリを保持する必要があります。
しかし、そのモデルをBlueprintアプリにインポートしようとすると、恐ろしいことになりRuntimeError: working outside of request context
ます。ここでアプリを正しく入手するにはどうすればよいですか?相対インポートは機能する可能性がありますが、かなり醜く、独自のコンテキストの問題があります。例:
python - Flask-SQLAlchemy nullable=False
簡単な登録フォームを作成するために、Flask と Flask-SQLAlchemy 拡張機能をいじっています。私の User クラスでは、属性 "email" を nullable=False に設定していますが、サイトでフォームを電子メールを含めずにテストすると、期待どおりに例外をスローする代わりに、新しいユーザーがデータベースに保存されます。なぜそれが起こっているのですか?ご覧いただきありがとうございます。
コードは次のとおりです。
python - WTFormsとSQLAlchemyを使用して多対多のデータを更新するにはどうすればよいですか?
FlaskFrameworkを使用したアプリのビルドに小さな問題があります。
単純なユーザー+権限モジュールを作成しようとしています。それをアーカイブするために、UsersテーブルとPermissionsテーブルの間に多対多の関係があります。
これが私のモデル、フォーム、ルートです
モデル
形
ルート
追加アクションは完全に機能し、リレーションは追加されていますが、ユーザーを編集しようとすると、このエラーが発生します。
トレースバック
python - Flaskを使用する多対多-SQLAlchemyは実行される代わりに生のSQLを返します
sqlalchemyでPythonフレームワークフラスコを使用しています。
私の多対多は次のようになります。
今私がするなら
collection.questionsは質問のリストを返しませんが、代わりに次のクエリを返します。
どんな助けでも大いに感謝されるでしょう!
ありがとう
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'
これが私のモデルです:
誰かがこれを機能させる方法を教えてもらえますか? 次のモデルも試しましたが、それも機能しません。同じエラー。
python - リンクテーブル/モデルのない多対多の関係
モデルUser
とモデルがありThing
ます。AUser
は0個以上Thing
のを所有できます。AThing
は0個以上User
のsによって所有されている可能性があります。通常、 sをsにThing_Ownership
リンクする3番目のテーブルを追加しますが、SQLAlchemyのbackref機能を利用して、インスタンスがある場合に、に属するsのリストを取得できるようにします。User
Thing
User
george
george.inventory
Thing
george
これを実行するための最良の方法は何ですか、または3番目のモデルを追加して、関連する関係User.inventory
の3番目のモデルの検索として実装する必要がありますか?Thing_Ownership