問題タブ [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 - Flask-SQLAlchemy: 行を条件付きで挿入または更新する方法
私のアプリケーションでは、Flask、Flask-SQLAlchemy、Flask-WTF、および Jinja2 を組み合わせて使用しています。
現在の化身では、設定テーブルがあります。テーブルには、1 つのフィールドを持つ 1 つのレコードのみが含まれます。最初、テーブルにはゼロのレコードが含まれています。
私が達成したいことは次のとおりです。
- データベースにエントリが存在しない場合、ユーザー入力の準備ができている空のフォームを表示します
- エントリが存在する場合、エントリを表示し、
- ユーザーが値を変更した場合は、db の rec を更新します。
これが私のコードです:
models.py
フォーム.py
ビュー.py
現状では、レコードが存在しないがrssfeed
列が空の場合、このコードはレコードを作成します。
INSERT
レコードが存在しない場合と存在する場合に、このコードを変更するにはどうすれUPDATE
ばよいですか?
python - or ステートメントを使用した ORM クエリ
ステートメントhttp://www.w3schools.com/sql/sql_in.aspを使用して、ID のリストでユーザーをクエリしようとしています。
文字列クエリと実行機能なしでそれを行うことは可能ですか?
以下のようなものを探しています
python - デスクトップアプリケーションからpythonフラスコサーバーにhttpリクエストを送信するには?
フラスコフレームワークを使用してpythonサーバーを構成しました。デスクトップアプリケーションからサーバーにリクエストを送信したいと思います。私のサーバーの場所は次のとおりです。http://127.0.0.1:5000/
ブラウザから動作するコードを作成しましたが、デスクトップ アプリからそのコードにアクセスしたいと考えています。
python - 多対多のマルチデータベースがFlask-SQLAlchemyと結合します
この多対多の結合をFlask-SQLAlchemyと2つのMySQLデータベースで機能させようとしていますが、結合テーブルに間違ったデータベースを使用していることを除けば、非常に近いものです。これが基本です...
私が持っているmain_db
とvendor_db
。テーブルは、、(リレーションテーブル)、そして。として設定さmain_db.users
れmain_db.user_products
ますvendor_db.products
。それらがすべてどのように接続されているかをかなり明確にする必要があります。
私のapp.pyでは、次のようにデータベースを設定しています。
モデル定義は次のように設定されます。
問題は、ユーザーの製品を取得しようとするvendor_db
と、の代わりに結合テーブルに使用しようとしていることですmain_db
。main_db
代わりにどのように使用できるかについてのアイデアはありますか?別のバインドをmain_db
設定info={'bind_key': 'main_db'}
してリレーションシップテーブル定義を設定しようとしましたが、うまくいきませんでした。ありがとう!
python - フラスコアプリケーションの構造
Flask を使用して簡単ではあるが簡単ではないアプリケーションを作成しようとしていますが、ドキュメントでは説明されていない状況に遭遇し続けています。
アプリを異なるモジュールに分割したいのですが、メイン モジュール以外からメインapp
オブジェクト (またはdb
から)にアクセスするのは難しいようです。flask-sqlalchemy
すべてがアクセスできるグローバルとして扱う独自の方法を実際に作成する必要があるようです。これには、疑わしいコードと少しの時間が必要です。
app
とはどちらもdb
、メイン アプリケーションがインスタンス化されるレベルで作成され、すべての例では、それらがトップ レベルで使用可能であることを前提としています。しかし、異なる URL ハンドラーを異なるモジュールに分割すると、@app.route
デコレーターを使用できなくなります。で回避できますがapp.add_url_rule('/...', some.module...)
、アプリはその関数に渡されません。
で同じことが起こります- に貼り付ける必要があるのか 、それとも何らかの方法でアクセスできるようにする必要があるのdb
か わかりません。ただし、それを行っても、モデルを別のモジュールに移動するのには役立ちません-モデルをインポートするときにどのようにアクセスすればよいですか? すべての例は、ローカル変数として利用できることを前提としています。g
app
db
明らかな何かが欠けていますか、それともここで間違ったタスクにフラスコを使用しようとしていますか?
python - スクリプトからデータベースにアクセスできません
スクリプトからデータベースのテーブルから行を削除しようとしています。おそらくこれは最も簡単な方法ではありませんが、可能なはずだと思います。私は次のことを試しています:
次のエラーが表示されます。
python - Flask SQLAlchemy クエリ、列名を指定
モデルを使用してクエリで必要な列を指定するにはどうすればよいですか (デフォルトですべての列が選択されます)。sqlalchmey session: でこれを行う方法は知っていますsession.query(self.col1)
が、モデルで行うにはどうすればよいですか? 私はできませんSomeModel.query()
。方法はありますか?
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.
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' を見つけることができませんでした*
「メタデータ」の使用を提案している別の投稿を見つけることができましたが、それを使用する適切な方法が見つかりませんでした。
これを解決するアイデアはありますか?
ありがとう !
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チュートリアルに参加してきましたが、彼らは物事を異なって宣言すると信じています:
どのチュートリアルを信頼する必要がありますか?
どうもありがとうございます !