亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

計算同一 jango 模型中另一個字段的不同值搜索中的不同值

計算同一 jango 模型中另一個字段的不同值搜索中的不同值

Cats萌萌 2023-07-11 15:40:49
我正在嘗試從我的 django 模型表中提取一些分析。到目前為止,我可以計算字段的總值和字段的不同值。我還知道如何創建顯示不同字段內字段總值的列表?,F在我想計算一個字段出現在不同字段的已經不同值的列表中的不同實例。這是我正在使用的表:| uid   |  cid   ||-------|--------|| a     | apple  || a     | apple  || a     | grape  || b     | apple  || b     | grape  || c     | apple  || c     | pear   || c     | pear   || c     | pear   |所以我試圖提供的結果是:cid: apple (distinct uid count: 3),cid: grape (distinct uid count: 2),cid: pear (distinct uid count: 1)并且:cid apple's distinct uid's: a, b, ccid grape's distinct uid's: a, bcid pear's distinct uid's: c到目前為止,我已經能夠獲得不同的計數和列表,如下所示:dist_uid_list = Fruit.objects.filter(client=user).values('uid').distinct()output >>> {'uid': 'a', 'uid': 'b', 'uid': 'c'}和這個:dist_uid_count = Fruit.objects.filter(client=user).values('uid').distinct().count()output >>> {3}以及更復雜的:total_actions_per_cid = Fruit.objects\            .filter(client=user)\            .values('cid').distinct()\            .annotate(num_actions=Count('action_name'))\            .order_by('cid')output >>> {'cid': 'apple', 'num_actions': '4'}{'cid': 'grape', 'num_actions': '2'}{'cid': 'pear', 'num_actions': '3'}所以問題是:我怎樣才能進入并獲取每個不同的“cid”并找到每個不同的“uid”中存在多少個不同的“uid”?
查看完整描述

1 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

計數聚合有一個不同的參數,可能會有所幫助:


>>> q = Book.objects.annotate(Count('authors', distinct=True), Count('store', distinct=True))

https://docs.djangoproject.com/en/3.1/topics/db/aggregation/#combining-multiple-aggregations


因此您的查詢將如下所示:


# I removed the distinct after .values, as the values works

# like a GROUP BY, thus you will get already unique 'cid's

total_actions_per_cid = Fruit.objects\

            .filter(client=user)\

            .values('cid') \

            .annotate(num_uids=Count('uid', distinct=True))


查看完整回答
反對 回復 2023-07-11
  • 1 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號