問題タブ [django-aggregation]

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 に答える
106 参照

django - 結果を削除せずにフィルタリングされた注釈

アノテーションを使用したモデルとクエリを考えてみましょう。たとえば、 Djangoドキュメントの次の例です。

このクエリの結果には、フィルターに一致する (つまり、book_rating が 3.0 より大きい) オブジェクトのみが含まれ、これらのオブジェクトには注釈が付けられています。しかし、クエリにすべてのオブジェクトを含めたいが、フィルターに一致するオブジェクトにのみ注釈を付ける(または、たとえば 0 で注釈を付ける) 場合はどうすればよいでしょうか? それともこれは可能ですか?

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

django - Django adminを使用または拡張して、集約されたデータをナビゲートする方法は?

集約されたデータを使用してレコードをナビゲートできるようにするために、Djangoadminを拡張する方法を知りたいです。

例:日付、月、日、曜日で集計されたデータを参照し、他のフィールドの平均、最大/分、または合計を確認します。

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

django - 別のフィールドのソートに基づいて.values()を作成するDjango Queryset

データポイントの最も可能性の高い予測カテゴリを試しています。コードが最良の説明であるため:

モデル:

value各 DataPoint オブジェクトについて、最も可能性の高い PredResult を見つけようとしています。現在、私はforループを使用しています:

best_valueクエリセットにフィールドを追加したいと思いDataPointます。現在、DataPoint ごとに ~5 個の PredResult オブジェクトと ~20,000 個の DataPoints があります (ただし、これは急速に膨らむ可能性があります)。ただし、この for ループはビュー内で完了するのに時間がかかりすぎます。

誰でもこれに対処する方法を提案できますか? Django ORM トリックextra()Queryset. post-saveそれとも、オブジェクトでメソッドを使用して、オブジェクトのフィールドを直接PredResult更新する必要があると思いますか?DataPoint

必要に応じて、MySQL をデータベース バックエンドとして使用しています。

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

django - Djangoモデルの集約

私は、PersonとRunningScoreを子として持つ単純な階層モデルを持っています。このモデルは、多くのユーザーのランニングスコアに関するデータを格納し、次のように簡略化されています。

単一のPersonを取得すると、それに関連付けられたすべてのRunningScoreが付属します。これは標準の動作です。私の質問は本当に単純です。RunningScoreの子のみを持つPersonを取得したい場合(より良い結果、別名min(time)を想定)、どうすればよいですか?Djangoの公式ドキュメントを読みましたが、解決策が見つかりませんでした。

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

sql - Django ORM の多対多フィールドの複雑なカウント

したがって、多くのカテゴリに表示される一連のタスクがあります。

ご覧のとおり、各タスクは複数のタスク グループに表示できます。

クエリで次の条件を満たす必要があります。

  1. すべての TaskGroup のリストが返されます。
  2. 特定のグループ内のタスク数のカウント。伊江家具(3)、寝具(2)、フロアランプ(6)
  3. 特定の TaskGroup にタスクがない場合、そのグループには 0 が必要です
  4. 各グループ内のタスクは、現在のユーザーによって制限されています。

これまでに思いついた最高のものは、次のようなものです。

しかし、カウントを行う前にすべてをフィルタリングするため、タスクがゼロのタスク グループは表示されません。

多分私は非常に考えているかもしれませんが、私は何年もの間これをやろうとしてきました.この段階では、ループして自分で数えたいと思っています.

私の残り少ない正気を救う手助けができることを本当に願っています!

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

django - Django条件付きアノテーション

この質問がまだ存在していないことに驚いています。もしそうなら、私がそれを見つけるのを手伝ってください。

annotate(Count)とorder_byを使用したいのですが、関連するオブジェクトのすべてのインスタンスをカウントするのではなく、特定の基準を満たすものだけをカウントします。

つまり、ツバメを持っている緑色のココナッツの数でリストするかもしれません。

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

django - Djangoの最小値と最大値の差で計算された平均

Django には次のような 2 つの単純なテーブルがあります。

すべてのセッションの平均期間を見つける必要があります。whenセッションの継続時間は、最高値と最低値を差し引いて計算されwhenます。私はこのようなことをすることができます:

より良い方法はありますか?

ありがとう。

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

python - 述語を満たす関連レコードの最大数を照会する方法

私は、評価したいトリッキーな集計クエリに遭遇したDjangoアプリに取り組んでいます。

私のプロジェクトのdemoアプリでは、図書館の所蔵を表す次のモデル クラスを宣言しました。

私が照会したいのは、単一の図書館内の「興味深い」本の最大数です。これは、各図書館の「興味深い」本の数の最大値です。

SQL では、これは次のとおりです。

 

次のテスト データを使用します。

上記のSELECTステートメントの結果は次のとおりです。

予想通り。

Django のクエリ API を使用してこの値を計算することは可能ですか?

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

django - Django で、オブジェクトの最新バージョンをすべて取得するにはどうすればよいですか?

次のようなモデルを使用して、Django で VCS をモデリングしているとしましょう。

(ディレクトリ、名前) は、システムによって追跡されたアイテムを一意に識別しますが、各アイテムには複数のリビジョンがある場合があります。

すべてのアイテムをリストしたいと思います。各アイテムには、システムで追跡された最大のリビジョンがあります。Django にはこの機能が組み込まれていますか?

最悪の場合、次のような方法で自分で実行できます。

欠点は、データベースからすべてのエントリをフェッチし、それぞれをループする必要があることです。これは、できれば避けたいことです。

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

django - Djangoモデルのプロパティで集計を使用する

スキーマの説明

ここに画像の説明を入力してください

プロジェクトには複数のプロジェクトアイテムが含まれる可能性があり、プロジェクトアイテムには複数の取得コストが含まれる可能性があります。たとえば、資本プロジェクト#1には、次の2つのプロジェクト項目が含まれています。

  1. 数量 購入した生産設備1台
    • サプライヤーから機器を購入するための1回の取得コスト5,000ドル
  2. 数量 スタッフによって構築された1つのテストフィクスチャ
    • 取得コストの合計が12,000ドルの場合、それぞれ1,000ドルの購入が12回行われます。

生産設備には、購入に関連するコストが1つしかない場合があります。ただし、テストフィクスチャには、その構築に関連する複数のコストがかかる可能性があります。

欲望

各項目の総取得コストを把握できるようにしたい。また、各プロジェクトの総取得コストを把握できるようにしたい。上記の例に基づく:

  • アイテム1の総取得コスト=5,000ドル
  • アイテム2の総取得コスト=12,000ドル
  • 資本プロジェクトの総取得コスト=17,000ドル

質問

  1. total_acquisition_costsDjangoの集計を使用して計算する必要がありますか、それともモデルにとして保存する必要がDecimalFieldありProjectますProjectItemか?

  2. およびモデルのtotal_acquisition_costsプロパティを作成する必要がありますか?私の直感は、プロパティを作成することはイエスです。ProjectItemProject

    私の直感は、データベースの非正規化を回避するために、集計を使用して値を計算することです。Sum具体的には、Djangoの集計関数を使用してプロパティを作成することに傾倒していtotal_acquisition_costsます。ただし、ディクショナリではなく値を返すように、モデルにプロパティとして集計を配置する方法を模索しているわけではありません。

現在のコード

注:私の現在のコードはDjangoの集約機能を使用していませんが、機能します。