問題タブ [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 投票する
2 に答える
33980 参照

python - Flask-SQLAlchemy: 行を条件付きで挿入または更新する方法

私のアプリケーションでは、Flask、Flask-SQLAlchemy、Flask-WTF、および Jinja2 を組み合わせて使用​​しています。

現在の化身では、設定テーブルがあります。テーブルには、1 つのフィールドを持つ 1 つのレコードのみが含まれます。最初、テーブルにはゼロのレコードが含まれています。

私が達成したいことは次のとおりです。

  • データベースにエントリが存在しない場合、ユーザー入力の準備ができている空のフォームを表示します
  • エントリが存在する場合、エントリを表示し、
  • ユーザーが値を変更した場合は、db の rec を更新します。

これが私のコードです:

models.py

フォーム.py

ビュー.py

現状では、レコードが存在しないがrssfeed列が空の場合、このコードはレコードを作成します。

INSERTレコードが存在しない場合と存在する場合に、このコードを変更するにはどうすれUPDATEばよいですか?

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

python - or ステートメントを使用した ORM クエリ

ステートメントhttp://www.w3schools.com/sql/sql_in.aspを使用して、ID のリストでユーザーをクエリしようとしています。

文字列クエリと実行機能なしでそれを行うことは可能ですか?

以下のようなものを探しています

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

python - デスクトップアプリケーションからpythonフラスコサーバーにhttpリクエストを送信するには?

フラスコフレームワークを使用してpythonサーバーを構成しました。デスクトップアプリケーションからサーバーにリクエストを送信したいと思います。私のサーバーの場所は次のとおりです。http://127.0.0.1:5000/

ブラウザから動作するコードを作成しましたが、デスクトップ アプリからそのコードにアクセスしたいと考えています。

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

python - 多対多のマルチデータベースがFlask-SQLAlchemyと結合します

この多対多の結合をFlask-SQLAlchemyと2つのMySQLデータベースで機能させようとしていますが、結合テーブルに間違ったデータベースを使用していることを除けば、非常に近いものです。これが基本です...

私が持っているmain_dbvendor_db。テーブルは、、(リレーションテーブル)、そして。として設定さmain_db.usersmain_db.user_productsますvendor_db.products。それらがすべてどのように接続されているかをかなり明確にする必要があります。

私のapp.pyでは、次のようにデータベースを設定しています。

モデル定義は次のように設定されます。

問題は、ユーザーの製品を取得しようとするvendor_dbと、の代わりに結合テーブルに使用しようとしていることですmain_dbmain_db代わりにどのように使用できるかについてのアイデアはありますか?別のバインドをmain_db設定info={'bind_key': 'main_db'}してリレーションシップテーブル定義を設定しようとしましたが、うまくいきませんでした。ありがとう!

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

python - フラスコアプリケーションの構造

Flask を使用して簡単ではあるが簡単ではないアプリケーションを作成しようとしていますが、ドキュメントでは説明されていない状況に遭遇し続けています。

アプリを異なるモジュールに分割したいのですが、メイン モジュール以外からメインappオブジェクト (またはdbから)にアクセスするのは難しいようです。flask-sqlalchemyすべてがアクセスできるグローバルとして扱う独自の方法を実際に作成する必要があるようです。これには、疑わしいコードと少しの時間が必要です。

appとはどちらもdb、メイン アプリケーションがインスタンス化されるレベルで作成され、すべての例では、それらがトップ レベルで使用可能であることを前提としています。しかし、異なる URL ハンドラーを異なるモジュールに分割すると、@app.routeデコレーターを使用できなくなります。で回避できますがapp.add_url_rule('/...', some.module...)、アプリはその関数に渡されません。

で同じことが起こります- に貼り付ける必要があるのか​​ 、それとも何らかの方法でアクセスできるようにする必要があるのdbか​​ わかりません。ただし、それを行っても、モデルを別のモジュールに移動するのには役立ちません-モデルをインポートするときにどのようにアクセスすればよいですか? すべての例は、ローカル変数として利用できることを前提としています。gappdb

明らかな何かが欠けていますか、それともここで間違ったタスクにフラスコを使用しようとしていますか?

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

python - スクリプトからデータベースにアクセスできません

スクリプトからデータベースのテーブルから行を削除しようとしています。おそらくこれは最も簡単な方法ではありませんが、可能なはずだと思います。私は次のことを試しています:

次のエラーが表示されます。

0 投票する
9 に答える
178802 参照

python - Flask SQLAlchemy クエリ、列名を指定

モデルを使用してクエリで必要な列を指定するにはどうすればよいですか (デフォルトですべての列が選択されます)。sqlalchmey session: でこれを行う方法は知っていますsession.query(self.col1)が、モデルで行うにはどうすればよいですか? 私はできませんSomeModel.query()。方法はありますか?

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

python - Python clean imports for models - SQL Alchemy

I have a flask app with the following directory structure:

  • myapp/
    • application.py
    • __init__.py
    • models/
      • __init__.py
      • user.py

The models use Flask-SQLAlchemy, and therefore, they need to have access to the db object (a SQLAlchemy instance) from application.py

user.py:

Because any of the models need access to the application's SQLAlchemy instance, the db property, I have to throw this whole package on the path and then import from the main application module. For sanity's sake, I would like to keep the models in separate files. Will I need to put the path code on top of every model? Is there a better way? I'd rather not have the full path input like that, as they may be deployed to different hosts with different directory structures. Ideally there would be some way to internally handle the path so when it is used as another user via mod_wsgi I don't have to manually change the code.

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

python - Flask Sqlalchemy : 異なるモジュール間の関係

Flask-SQLAlchemy チュートリアルに従っています。Python 2.6でFlask 0.9、sqlalchemy 0.7.8、flask-sqlalchemy 0.16を使用しています。

チュートリアルのように、「1対多」の関係を作成しようとしています。

その後、データベースを作成できます。

両方のクラスが同じファイルに作成されている場合にうまく機能します。

2 つの異なるファイル (2 つの異なるモジュール) を使用してこれを作成したい場合、もう機能しません。

これは単なるです (私は多くのクラスでもっと複雑なことをしようとしています.2つの異なるモジュール間に関係が存在する必要がありますが、私の質問が理解しやすくなるように単純化します.)

私は2つのモジュールを持っています:PersonとAddress、両方とも:

それぞれに、前に書かれたクラスの宣言があります。

私の主な機能は3番目のモジュールにあります:

Eclipse でまだエラーが発生します。

*sqlalchemy.exc.NoReferencedTableError: 列 'Address.person_id' に関連付けられた外部キーは、ターゲット列 'sid' への外部キーを生成するテーブル 'person' を見つけることができませんでした*

「メタデータ」の使用を提案している別の投稿を見つけることができましたが、それを使用する適切な方法が見つかりませんでした。

これを解決するアイデアはありますか?

ありがとう !

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

object - Flask SqlAlchemy:TypeError:'クラス'オブジェクトは反復可能ではありません

私はFlask-SQLAlchemyチュートリアルに従っています。Python2.6にFlask0.9、sqlalchemy 0.7.8、flask-sqlalchemy0.16があります。(そして私はEclipseで作業します)

(チュートリアルはここにあります:http://packages.python.org/Flask-SQLAlchemy/models.html

男性と財布の2つのクラスがあります。1-1の関係があります。(各人は自分の財布を持っています)

「メイン」モジュールで、データベースを作成します。

これとまったく同じモジュールで、私は財布を男性に取り付けようとします:

しかし、私はこのエラーを受け取ります:

なぜこのようなエラーが発生するのか理解できません。マップされたオブジェクトを追加する正しい方法は何ですか?

PS:私はSQLAlchemyチュートリアルに参加してきましたが、彼らは物事を異なって宣言すると信じています:

どのチュートリアルを信頼する必要がありますか?

どうもありがとうございます !