問題タブ [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.

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

sql - 外側のクエリが内側のクエリの集計を選択するように、SELECT クエリを入れ子にすることはできますか?

私はpython3.3とsqlite3.7データベースでpeewee2.1を使用しています。

次のような特定の SELECT クエリを実行したいと考えています。

  1. 最初に集計 (カウント、合計) を選択し、id 列でグループ化します。それから
  2. 次に、(1) の結果から選択し、その集計を集計します。具体的には、(1)の各集計値を持つ行数をカウントしたい。

私のデータベースには、イベントごとに 1 つのレコードを持つ「イベント」テーブルと、イベントごとに 1..N チケットを持つ「チケット」テーブルがあります。各チケット レコードには、イベントの ID が外部キーとして含まれています。各チケットには、購入した座席数を指定する「座席」列も含まれています。(「チケット」は、イベントの 1 つ以上の座席の購入取引と考えるのが最適です。)

以下は、この種の SQLite クエリを実行して目的の結果を得る 2 つの例です。

しかし、Peewee を使用して、外側のクエリを指定するときに内側のクエリの集計 (カウントまたは合計) を選択する方法がわかりません。もちろん、その集計のエイリアスを指定できますが、そのエイリアスを外側のクエリで使用できないようです。

Peewee には「生の」SQL クエリを実行するメカニズムがあることを知っており、その回避策をうまく使用しました。しかし、Peewee を直接使用してこれらのクエリを実行できるかどうか、またはどのように実行できるかを理解したいと思います。

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

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 クラスで発生します。

しかし、なぜこれがエラーをスローするのか、私はちょっと迷っています。だから私の質問は本当にです: 誰かが私がここで間違っていることを知っていますか?

私は完全に迷っているので、どんなヒントでも大歓迎です..

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

python - Peewee を使用した結合テーブルのカウント

Peewee ORMを使用してクエリを作成しようとしています。クエリは、少なくとも 1 つのメッセージが関連付けられているユーザーのすべての名前を返す必要があります。私は現在、次のようにこれを試しています:

私のモデルは次のようになります。

ただし、これにより次のエラーが発生しますOperationalError: misuse of aggregate function Count()

しかし、私はここで完全に迷っています。これを修正する方法を知っている人はいますか?すべてのヒントは大歓迎です!

0 投票する
7 に答える
9027 参照

python - peewee を使用してモデルで定義されたすべてのテーブルを作成する方法

peewee を使用して多くのモデル クラスを定義しています。ClassName.create_table()テーブルを生成できますが、テーブルは 1 つだけです。単一のステートメントを使用してすべてのテーブルを作成するにはどうすればよいですか?

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

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サーバーに一度も展開されないのはなぜでしょうか...なぜ私が提供したフラスココードはデータベースから何も取得しないのに、同じデータベースクエリを実行するのですか?インタラクティブなシェル作業?

何か案は?

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

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がなければ、おそらくかなり簡単にやってのけると思います...

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

peewee - peewee での複数の参加

私は困惑しています。したがって、peewee で定義された 3 つのモデルがあります。

peewee を使用してこの mySQL クエリを表現しようとしています。

基本的に、患者のリストと、特定のプロバイダーの指標の ID を教えてください。かなり単純ですが、ピーウィーにこれをさせる方法がわかりません。結合をチェーンしようとしましたが、peewee は外部キーを解決できません。たとえば、いくつかの異なる方法で .join と .from_ メソッドを使用してみました。

この場合、mySQL は、派生テーブルのエイリアスを作成する必要があると訴えました。私は間違ったツリーを吠えていると思います.peeweeでこのクエリを作成する簡単な方法がありますが、困惑しています. 誰でも「正しい」方法を教えてもらえますか?