問題タブ [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 投票する
2 に答える
11867 参照

python - Djangoで「なし」の値につながるSUM集計関数に注釈を付ける

私の最初の実際の Django プロジェクトを行っており、ガイダンスが必要です。

背景: 私のプロジェクトは reddit クローンです。ユーザーはリンクとテキストを送信します。訪問者は賛成票または反対票を投じます。social_ranking アルゴがあり、バックグラウンド スクリプトとして約 2 分ごとに実行され、正味の投票数とコンテンツの鮮度に応じてすべての投稿を再ランク付けします。かなりバニラのもの。

問題:がではなくとして初期化されているため、 並べ替えがvotes正しく機能しません。これにより、投票のある提出物は、反対票のある提出物よりも低くランク付けされます。この問題を何日もデバッグしましたが、うまくいきませんでした。votesNone0None

詳細: モデルのモデル マネージャーをオーバーライドして、Sum集計関数をクエリ セットに注釈を付け、そのクエリ セットを「社会的ランク」と投票で並べ替えました。

以下は私のmodels.pyです。私は を使用しているDjango 1.5ため、ここに表示されるものは 1.8 に対応していない可能性があります (例get_query_setvs get_queryset):

必要に応じて、以下は私のviews.pyからの関連セクションです。

「 」の問題を修正するために私が何をする必要があるかを誰かが明らかにすることはできますNoneか? 前もって感謝します。

0 投票する
3 に答える
1318 参照

django - 期間の平均為替レートを計算する

Django には、次の例のようなモデルがあります。

これを単純化して、通貨が 1 つしかなく、ExchangeRateテーブルが次のようになっていると仮定します。

これは数学演算を単純化するための例であることに注意してください!

このテーブルでは、データ密度は月に 1 回で、1 か月の有効なレコードは、たとえば、いつstart_date = 2014.03.01end_date = 2014.04.01であるため、start_date包括的end_dateで排他的です。

期間の平均為替レートを計算したい:

[2014.06.01 ;  2012.09.01)

つまり、次のことを意味>= 2014.06.01します。< 2014.09.01

Django では次のように書きます。

このクエリの後4.5000、時間範囲に注意する必要がある場合、数学的な理由から正しいが間違っている値を受け取ります。
正解は4.000です。

この式で余分な列に注釈を付けてから、この列から平均値を計算するというこのソリューションを思いつきました:

https://www.codecogs.com/eqnedit.php?latex=\inline&space;Abs&space;\left&space;(&space;\frac{months&space;\left&space;(&space;greater(ER_{start_date}\&space;,\&space) ;start_date),&space;smaller(ER_{start_date}\&space;,\&space;end_date)&space;\right&space;)&space;}{months(start_date\&space;,\&space;end_date)}&space;\right&space;) &space;*&space;ER_{exchange_rate}

どこ:

  • Absは絶対値関数abs()
  • months2 つの日付の間の月を計算する関数ですmonths_between()
  • greatersmaller引数からそれに応じて大きい値と小さい値を選択する関数です - greatest()least()
  • ERからの列を意味しますExchangeRate-例F('exchange_rate')

私は9.3 PostgreSQL DBDjango 1.8.4を使用しています。

多分そのための簡単な機能がありますか?
多分私はこれを過度に複雑にしていますか?

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

django - Django ORM: Datetime フィールドの timedelta でフィルター処理する

DateTimeFieldたとえば、投稿後 10 分以内に削除された投稿など、2 つの s の時間差に基づいて投稿を取得しようとしています。

上記のモデルを手にして、試してみました。

を取得しましたTypeError: expected string or buffer。次に、タイプの変更(DateTimeオブジェクトがTimeオブジェクトを生成する)である可能性があると考えたので、次のように試しましたExpressionWrapper

しかし、これも同じ例外を引き起こしました。

どんな助けでも大歓迎です。

編集

@ivanの提案によると、DurationField()代わりに試しました。例外は発生しなくなりましたが、デルタは常に0.

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

python - Djangoで正確なフィールド値を持つすべてのForeignKeyモデルを数える方法は?

可能かどうかはわかりませんが、正確なvote_type属性を持つモデルに関連付けられたすべての投票をカウントしたいと考えています。

モデルは次のとおりです。

これを使用してすべての票を数えました:

そして、これを使用して私が望むものを達成できるかもしれないと考えました:

しかし、ここでは filter() 構文を使用できないようです。

私はDjango 1.8.4を使用しています。

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

python - djangoでデータを集計するには?

インスタンスが毎時間作成されるモデルがあります。

先月の日の平均値を取得したい。たとえば、毎日の平均値を含む 30 のインスタンス。それを実現する方法は?今、私はこのメソッドを書きました:

機能を実装するにはどうすればよいですか?

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

django - ManyToMany での Django モデルの集計一致数

ManyToMany フィールドを持つモデルがあります。

たとえば、次のようなデータセットがあります。

同じ数値の量で MyModel を集計する方法を探しています。

それらのnumbers_setに少なくとも3つの同じ数字を持つfe MyModelオブジェクト。

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

django - ManyToMany 一致数による Django モデル グループ

私は単純なキーワード グループ化ツールに取り組んでいます。SERP で同じ URL の数によってフレーズをグループ化したい。

フレーズは、検索エンジンのキーワードを表します。SerpEntry は、サイト上のリンクを表します。

SerpEntry に少なくとも N 個の同じ URL を持つフレーズを選択する方法を探しています。

ここに私のモデルがあります:

それを行う方法について何か提案はありますか?