問題タブ [peewee]
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.
sql - 外側のクエリが内側のクエリの集計を選択するように、SELECT クエリを入れ子にすることはできますか?
私はpython3.3とsqlite3.7データベースでpeewee2.1を使用しています。
次のような特定の SELECT クエリを実行したいと考えています。
- 最初に集計 (カウント、合計) を選択し、id 列でグループ化します。それから
- 次に、(1) の結果から選択し、その集計を集計します。具体的には、(1)の各集計値を持つ行数をカウントしたい。
私のデータベースには、イベントごとに 1 つのレコードを持つ「イベント」テーブルと、イベントごとに 1..N チケットを持つ「チケット」テーブルがあります。各チケット レコードには、イベントの ID が外部キーとして含まれています。各チケットには、購入した座席数を指定する「座席」列も含まれています。(「チケット」は、イベントの 1 つ以上の座席の購入取引と考えるのが最適です。)
以下は、この種の SQLite クエリを実行して目的の結果を得る 2 つの例です。
しかし、Peewee を使用して、外側のクエリを指定するときに内側のクエリの集計 (カウントまたは合計) を選択する方法がわかりません。もちろん、その集計のエイリアスを指定できますが、そのエイリアスを外側のクエリで使用できないようです。
Peewee には「生の」SQL クエリを実行するメカニズムがあることを知っており、その回避策をうまく使用しました。しかし、Peewee を直接使用してこれらのクエリを実行できるかどうか、またはどのように実行できるかを理解したいと思います。
python - Python Flask: AttributeError: 'NoneType' オブジェクトに属性 'is_active' がありません
Flask Mega チュートリアルを使用してFlaskを学習しようとしています。チュートリアルのパート 5では、ユーザーがログインする必要があるプロファイル ページを作成しています。
私は SQLAlchemy の代わりに peewee ORM を使用しているので、あちこちでコードを調整しますが、この場合は問題ではないと思います。Google (openID) アカウントを使用してログインすると、エラーが表示されますAttributeError: 'NoneType' object has no attribute 'is_active'
。エラーは、この関数の最後にある行で発生しますlogin_user(user, remember = remember_me)
。
このコードは以前は機能していたので、なぜエラーが発生するのかわかりません。メソッド (属性ではis_active
ない) は、次のような User クラスで発生します。
しかし、なぜこれがエラーをスローするのか、私はちょっと迷っています。だから私の質問は本当にです: 誰かが私がここで間違っていることを知っていますか?
私は完全に迷っているので、どんなヒントでも大歓迎です..
python - Peewee を使用した結合テーブルのカウント
Peewee ORMを使用してクエリを作成しようとしています。クエリは、少なくとも 1 つのメッセージが関連付けられているユーザーのすべての名前を返す必要があります。私は現在、次のようにこれを試しています:
私のモデルは次のようになります。
ただし、これにより次のエラーが発生しますOperationalError: misuse of aggregate function Count()
。
しかし、私はここで完全に迷っています。これを修正する方法を知っている人はいますか?すべてのヒントは大歓迎です!
python - peewee を使用してモデルで定義されたすべてのテーブルを作成する方法
peewee を使用して多くのモデル クラスを定義しています。ClassName.create_table()
テーブルを生成できますが、テーブルは 1 つだけです。単一のステートメントを使用してすべてのテーブルを作成するにはどうすればよいですか?
python - フラスコピーウィーがWebサーバーで動作しない
データを書き込むもの以外のPythonスクリプトからpeeweeデータベースにアクセスできません(ただし、インタラクティブシェルでは奇妙です)。Python、Flask、および peewee を使用してデータ マイニング アプリケーションを開発しています。ここではバイト サイズの問題に切り分けますが、現在提示されているものよりも範囲が広いです。すべてのpythonファイルは同じフォルダーにあります
基本的なプロセスは、ニューヨーク タイムズとインスタグラムから情報を取得して Peewee (sqllite) データベースに保存する Python コマンド ライン操作です。次に、フラスコ アプリケーションを使用してデータを調べます。
database.py のモデルの 1 つを次に示します。
ニュースはほとんど次のようになります。
次のようなものがある場合:
その後、実行できます:
そして、データを収集してデータベースに書き込みます
次に、フラスコアプリであるwebapp.pyというファイルがあります
"python webapp.py"
私はそれを核心の問題に落とし込もうとしました。フラスコアプリはデータベースに何も表示されません..今まで..
実際にそのフォルダーで「python」を実行し、データベースをインポートして、Stories.select() から多くのストーリーを取得できるため、ログが正しく記録されていることを知っています。
奇妙なことは、フラスコアプリが単にnewsalmostインスタンスの新しいインスタンスを作成し、その上で関数を呼び出してデータベースからものを返すという、より望ましい方法でこれを最初に設計したことです.. IN DEV MODE. しかし、それを自分の Web 派閥サーバーにデプロイしたとき (そしてそこですべてを実行したとき)、データベースから常に空の応答が返されます。これは、フラスコ内のデータベースを直接参照しようとする私の試みであり、おそらくそれはニュースであり、ほとんどめちゃくちゃなことだと思っています..しかし、いいえ。
sqlliteデータベースがローカルで期待どおりに正確に動作するのに、Webサーバーに一度も展開されないのはなぜでしょうか...なぜ私が提供したフラスココードはデータベースから何も取得しないのに、同じデータベースクエリを実行するのですか?インタラクティブなシェル作業?
何か案は?
mysql - mysql を使用した peewee の外部キーとしての CompositeKey
mysql DB の ORM として peewee を使用しています。私のスキームには、デバイス用、アプリ用、およびテスターアプリとテスト済みアプリごとのデバイスごとの結果用の 3 つのテーブルがあります。APPS テーブルは次のようになります。
テーブル内のすべてのリビジョンが必要で、特定のバージョン コードに従ってアプリを簡単にフィルター処理できるようにするため、最初の 3 列が主キーです (バージョン コードは git\svn のリビジョンで増分されますが、バージョン名はバージョン自体を次のように表します)。開発ブランチから取得)。私の問題は、APPS テーブルを TESTS テーブルの参照テーブルとして使用したいときに始まります。つまり、各テストは、テスター用に 1 回、テスト対象のアプリ用に 1 回、APPS を 2 回参照します。TESTS テーブルに 3 つのフィールドの外部キー (これで 6 つになります!) を設定するのが良い考えかどうかはわかりません。
そのための良い解決策はありますか?「キー」として自動インクリメントで_IDフィールドを追加しようとしたので、アクセスする単一の数値フィールドがありますが、ORMは実際にはそれをサポートしておらず、これをやってのけるために歯を食いしばっています。
私のデータベースは単に整理されていないのでしょうか、それとも単に ORM を置き換える必要があるのでしょうか? ORMがなければ、おそらくかなり簡単にやってのけると思います...
peewee - peewee での複数の参加
私は困惑しています。したがって、peewee で定義された 3 つのモデルがあります。
peewee を使用してこの mySQL クエリを表現しようとしています。
基本的に、患者のリストと、特定のプロバイダーの指標の ID を教えてください。かなり単純ですが、ピーウィーにこれをさせる方法がわかりません。結合をチェーンしようとしましたが、peewee は外部キーを解決できません。たとえば、いくつかの異なる方法で .join と .from_ メソッドを使用してみました。
この場合、mySQL は、派生テーブルのエイリアスを作成する必要があると訴えました。私は間違ったツリーを吠えていると思います.peeweeでこのクエリを作成する簡単な方法がありますが、困惑しています. 誰でも「正しい」方法を教えてもらえますか?