問題タブ [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.
django - 更新フィールドまたは COUNT クエリを使用する方が「良い」ですか?
私が取り組んでいるDjangoアプリでは、これが起こっています:
avg_child_ratingに頻繁にアクセスする予定 です。次のことを行った場合、最適化されますか?
現在の違いは、子が作成/評価/削除されるたびに、親オブジェクトが更新されることです。作成/評価が頻繁に行われることを知っています。
より高価なものは何ですか?
python - GROUP BYを使用したCOUNTに相当するDjango
Django 1.1 にはいくつかの新しい集約メソッドがあることを知っています。ただし、次のクエリに相当するものがわかりませんでした。
Django 1.1 の Model Query API で可能ですか、それとも単純な SQL を使用する必要がありますか?
django - Django ORMでフィルタリングされたデータに注釈を作成するには?
私は次のモデルを持っています:
レポートのために、今日電話をかけたすべてのユーザーと、各ユーザーのすべての通話の合計コストを取得する必要があります。
SQL では、次のようになります。
これまでのところ、次の解決策を見つけました。
apiuser_id
meとを返しますunits__sum
。
これ以上のインテリジェントなソリューションはありますか?
django - テンプレートの外部キーの Django values() を ID ではなくオブジェクトとして表示する
私は Django に ... を呼び出すクエリセットを持っていますModel.objects.values('item')
... where'item'
は外部キーです。
したがって、これはアイテム ID を返し、テンプレートに ID として表示されます。ID の代わりにテンプレートに実際のアイテムの値を表示するにはどうすればよいですか?
django - auth.user ごとにオブジェクトの数を取得する方法は?
次のようなプロジェクトモデルがあります。
django 集約を使用して、ユーザーごとのプロジェクト数ですべてのユーザーを返したいと考えています。何かのようなもの:
auth.user
私の Project クラスに関する知識がないため、それだけでは機能しません。エラーが発生します:
キーワード「project_set」をフィールドに解決できません。選択肢: date_joined、email、employee、first_name、groups、id、is_active、is_staff、is_superuser、last_login、last_name、lead_analyst、logentry、message、password、siteprofile、submitter、user_permissions、username
2 つの部分からなる質問です。
このプロジェクトあたりの数を取得する方法
auth.user
auth.user
Project クラスとこの集約を実行可能にするクラスとの間の関連付けを記述するより良い方法はありますか?
それとも、集計のために生のSQLに侵入する必要がありますか(djangoの生のSQLまたはデータベースのビューのいずれかを介して)?
django - django: 時間範囲ベースの集計クエリ
次のモデル Art と ArtScore があります。
特定のユーザー アクションによって ArtScore エントリが生成されます。たとえば、[このアートが好き] をクリックすると、その Art の一定量の ArtScore が保存されます。
今、「今週最も人気のある」ページを表示しようとしているので、その時間範囲の ArtScore 金額のみを集計するクエリが必要です。
以下のクエリを作成しましたが、欠陥があります...
... 日付範囲に ArtScore レコードがない Art のみを除外しますが、日付範囲外の ArtScore レコードは除外しないためです。
これを達成するための指針をいただければ幸いです。
ありがとう、
マーティン
django - Django:2つの乗算された列の集計値を取得
2 つの列の集計値を取得する必要があります。したがって、最初にそれらをまとめてから、それらを取得しsum()
ます。以下のコードは当然機能しません。これは説明のためのものです。
それはどういうわけか可能ですか、生のSQLを使用する必要がありますか?
django - 注釈付きでグループ化されたDjangoORMクエリを集約するときのProgrammingError
「ユーザーごとに購入したアイテムの平均数、最大数、最小数」を取得するためのクエリを作成しようとしています。
データソースは、次の単純な販売記録テーブルです。
ユーザーが購入したすべてのアイテムについて、このテーブルに新しいレコードが挿入されます。[注]:このバックエンドシステムはユーザー情報を管理しないため、同じデータベース内のテーブルへの外部キーではありませuser_id
ん。値は、製品のフロントエンド部分によって提供されます。
クエリを作成する試みは次のとおりです。
コードを実行しようとするとProgrammingError
、最後の行でaが発生します。
(1064、「SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、「FROM(SELECT .AS
sales_records
、COUNT(.`」の1行目)の近くで使用する正しい構文を確認してください」)user_id
user_id
sales_records
Djangoのエラー画面は、SQLが
何も選択していません!誰かがこれを行う正しい方法を教えてもらえますか?
Djangoのハッキング
で選択したフィールドのキャッシュをクリアdjango.db.models.sql.query.BaseQuery.get_aggregation()
すると、問題が解決するようです。これが修正または回避策であるかどうかはわかりませんが。
...結果が得られます:
python - 集約クエリを実行すると、Django モデル マネージャーが関連オブジェクトで動作しませんでした
多対多の関連フィールドで集計クエリを実行するのに問題があります。
ここに私のモデルがあります:
ただし、集計フィールドの値はused
、モデルが直接クエリされた場合にのみ正しくなります。
何が悪いのか教えてください。前もって感謝します。