問題タブ [python-elixir]
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 - Elixir/SQLAlchemy モデルを .NET にロードしていますか?
新しい要件がトップから降りてきました: 私がセットアップした素晴らしい、弾力性のある Elixir データベースを使用して「独自のビジネス技術」を実装することです。提供された相互運用機能 DLL (明らかに COM dll のようには機能しない) から Implib を作成するなど、さまざまなことを試しましたが、まったく機能しませんでした。CPython も MFC を好まないため、Python ライブラリを作成する試みはすべて失敗しました (いずれにせよ C を使用すると、.NET から直接 Python ライブラリを作成できるかどうかわかりません)。
唯一の救いは、開発者が VBA、.NET、および MFC Interop C++ フックをライブラリに提供するのに適していると判断したことです。そのため、「いくつかの」選択肢がありますが、最終的にはすべて同じフレームワークに戻ります。最善の方法は次のとおりです。
A) モデル定義を 1 つの言語 (Python/Elixir/SQLAlchemy) で 1 か所に保持する
B) この新しい .NET は、壊れやすいハードコーディングされた SQL に頼らずにモデルにアクセスできます。
あらゆる提案を歓迎します。
python - キャメロットへのフィードバック
私のニーズ:
- クロスプラットフォームの GUI アプリケーションを開発する必要がある
- 選択したソリューションは、実装が最速でなければなりません
- 簡単に拡張できるはずです
このアプリケーションは、主に CRUD 操作、リスト、フィルタリング、エクスポート、チャート、グラフなどのための単なるデータベース フロントエンドです。
いくつかのソリューション (Python Card、PyGUI、DABO、pygtkhelpers、kiwi、pyjamas、pure-mvc、PyQt/PySide、Wax、Tk ベースのフレームワーク、AVC、Fox など) について読んだ後、2 つの特定のソリューションに興味を持っていることに気付きました。それらの1つはキャメロットです。
本題に入る前に、Camelot ユーザーと懐疑論者について意見を述べたいと思います。
共有してくれてありがとう:)
python - SQLObject、SQLAlchemy、または SQLAlchemy + Elixir を使用する必要がありますか?
私は長い間 SQLObject を使用してきましたが、ここ数年で SQLAlchemy の人気が高まっていることに気付きました: http://www.google.com/trends?q=sqlobject,+sqlalchemy
SQLAlchemy に切り替える説得力のある理由はありますか? そのパフォーマンスは SQLObject と比べてどうですか? その使い勝手は?また、Elixir を使用することによる追加のパフォーマンス オーバーヘッドは何ですか?
私のニーズは、基本的で単純な CRUD です。エキゾチックなものは何もありません。
この関連する質問を見たことがありますが、1 年以上前に質問されたもので、あまり回答がありませんでした。
python - Elixir/SQLAlchemy でアトミック インクリメント/デクリメントを行う方法
Elixir エンティティのスコア フィールドをインクリメント (またはデクリメント) したい:
ただし、これは upvote への同時呼び出しでは確実に機能しません。私が思いつくことができる最高のものは、この醜い混乱です(基本的に、SQLAlchemyでSQL UPDATEステートメントを構築します):
このソリューションに問題はありますか? 同じことを達成するためのよりクリーンな方法はありますか?
ここで DB ロックを使用することは避けたいと思います。Elixir、SQLAlchemy、Postgres を使用しています。
アップデート
以下は、vonPetrushev のソリューションから派生したバリアントです。
これは私の最初のソリューションよりもいくらか優れていますが、現在のエンティティをフィルタリングする必要があります。残念ながら、エンティティが複数のテーブルに分散している場合、これは機能しません。
python - elixirで「UPDATE」を実行する方法
私は自分の個人的なアグリゲーターのために書いた小さなWebアプリでelixir/flaskを使用しています。
特定のrssfeedのすべてのアイテムを既読としてマークするための安らかな呼び出しを作成しようとしています。
SQLステートメントは次のようになりますUPDATE model_rssitems set hasbeenseen = 1 where rssfeed_id = '%s' % feedid
elixirにそのアクションを実行させるコードの書き方がわかりません。session.executeを使用しようとすると、次のようなエラーが発生します。UnboundExecutionError: Could not locate a bind configured on SQL expression or this Session
私は何か間違ったことをしていると確信していますが、何がわからないのです。
python - query.values が Elixir で失敗する
Elixir 宣言層に問題があります。モデルのすべてのインスタンスについて、次のように特定の列のデータを取得したいと考えています。
問題は、フィルタリングされたクエリでのみ機能し、例の単純なクエリでは次のエラーで失敗することです:
この種のものは Elixir のバグのように見えますが、回避策を見つけることができず、機能するはずの方法で何かを見落としている可能性があります。
python - Elixir / SQLAlchemyにActiveRecordのfind(:include)に相当するものはありますか?
以前はActiveRecordを使用していましたが、動的ファインダーへのオプションの:include引数を使用して、オブジェクトのすべての関連付けをロードできました。私は最近、PythonプロジェクトにElixirを使い始めましたが、同じことが可能かどうかを示唆するドキュメントを見つけることができません。
python - モデル オブジェクトからのクエリの問題
SqlAlchemy で (Elixir を介して) Pylons を使用しようとしています。
ここに私のtestdb/model/entities.pyがあります:
そして、ここにコントローラーがあります:
アプリケーションを実行すると、次のエラーが表示されます。
誰かが私が間違っていることを知っていますか?
python - SQLAlchemy IntegrityError
PySide(PyQt) で SQLAlchemy を使用すると問題が発生します。をポップアップしようとしてQtGui.QDialog
いますが、これを行うと SQLAlchemy が例外をスローします。
SQL にレコードを挿入しようとするコードがどこにもないため、これは特に厄介です。データベースからデータをクエリしようとしているだけです。実際、私の DB モデルは、PySide/PyQt が行っていることに関して読み取り専用です (つまり、QtGui.QTableView
モデル/ビューを使用していinsertRows
て、そのモデルには機能がありません)。
何が起こっているのか、それを解決する方法がわかりません - 繰り返しますが、SQL レコードを変更するコードはまったくありませんが、SQLAlchemy は SQL テーブルの 1 つに空白のレコードを挿入しようとします。バックグラウンドで確認できるのは、QTableView
データ モデルがデータベースに対して多くのクエリを実行していることだけです。これをポップアップするとQDialog
(テーブル列をクエリするためのコードが含まれている)、このエラーがスローされるようです。奇妙なことに、これは一貫していません。例外の前にポップアップが最初に表示される場合もあれば、例外の後にポップアップが表示される場合もあります。通常の状況では、QTableView
データ モデルはうまく機能しますが、このダイアログをポップアップするときは例外です (皮肉なことに、ポップアップはQTableView
QLineEdit、QTextEdit などの標準ウィジェットだけを使用しており、何も使用していません)。
それが役立つ場合は、SQLAlchemy 0.6.6 (Elixir 0.7.1 も) と PySide 1.0.0 (および PyQt4 4.8.3) で Python 2.7 を使用しています。SQL 2008 R2 (Express) を使用して Windows 7 を使用しています。はい、PC を再起動してみましたが、再起動後も問題が発生します。この特定のプロジェクトには多くのコードがあり、特定の問題を突き止めることができないため、これ以上コードを投稿するのは気が進まない。
これに関連する可能性のある SQLAlchemy や PyQt の奇妙な点を誰かが知っていることを願っています。また、大規模なデータ モデルを構築しているため、SQLAlchemy を引き続き使用できることを願っています。現時点では、これを放棄して PyQt の SQL 機能を使用するのは気が進まない。
python - 実行時のSQLAlchemyモデル定義
スプレッドシートのようなデータをSQLに移動する処理を行うために、ElixirとSQLAlchemyを使用してORMを作成しています。一般に、スプレッドシートのようなデータの内容は不明であり、pyparsingはテキストファイルからのスプレッドシートのようなデータに関する(メタ)データを解析します
(例:国勢調査では、現在の人口調査をフラットファイルで固定して公開し、列の仕様やデータ内の各列のドキュメントなど、データの内容を説明するtxtファイルを添付しています)
私が想像したように、ORMは次のようになります
したがって、このモデルは、ハードドライブ上にある一連のフラットファイルの内容を記述します。さて、これらのフラットファイルをSQLに取り込みたい場合は、
SQLを文字列として記述し、上記のモデルの情報を置き換えてみてください
新しいElixir/SQLAlchemyエンティティを定義してみてください
いくつかの3番目のオプション
結局のところ、私が欲しいと思うのは、スプレッドシートのようなテーブルとしてのSQLのデータファイルのようなすべてのスプレッドシートと、すべてのメタデータを処理するためのElixir/SQLAlchemyの魔法です。
私はSQLAlchemyのドキュメントをたくさん読んだことがありますが、それらはすべて「ブログを書きたい」タイプのアプリケーション、または少なくともコードを書く前にデータの構造が完全に識別されているアプリケーション用に書かれているようです。列の仕様にとらわれないモデルを作成しようとしていると思います。