获取前 3 名用户的 Django 查询集
Django queryset to get Top 3 users
我有一个模型:
class RnR(models.Model):
emp_sent = models.CharField(null=True, blank=True, max_length=122)
badgename = models.CharField(null=True, blank=True, max_length=122)
message = models.CharField(null=True, blank=True, max_length=122)
emp_recvd = models.CharField(null=True, blank=True, max_length=122)
date = models.DateField(null=True, blank=True)
现在 table 中的数据将采用以下方式(示例):
emp_sent
badgename
message
emp_recvd
date
Tony
great job
good
Steve
01/01/2020
Tony
thank you
thanks
Nat
04/02/2020
Steve
great job
nice
Tony
05/02/2020
Steve
congo
nice
Nat
05/04/2020
Bruce
great job
nice work
Clint
05/06/2020
Nat
congo
nice
Bruce
25/06/2020
Steve
great job
nice
Nat
05/07/2020
Nat
thank you
nice work
Tony
15/07/2020
Steve
great job
nice
Bruce
03/09/2020
现在我想编写一个查询集,为我提供前 3 位发件人的姓名(在上面的示例中,依次为 Steve、Nat 和 Tony)以及一些其他详细信息,例如 badgename 和发送和接收的次数。它的外观如下:
(注意:以下table只是为了让我的问题更清楚,在我的实际代码中,我将使用Django上下文在Bootstrap轮播中显示此信息)
Rank
Employee Name
Badgename
Sent
Received
1
Steve
great job
3
1
congo
1
0
thank you
0
0
2
Nat
great job
0
1
congo
1
1
thank you
1
1
3
Tony
great job
1
1
congo
0
0
thank you
1
1
我也想对 Top 3 接收者做同样的事情,但我会根据对此的答案来解决。
请告诉我我需要的查询集或任何其他可用的解决方案。谢谢!
我有一个模型:
class RnR(models.Model):
emp_sent = models.CharField(null=True, blank=True, max_length=122)
badgename = models.CharField(null=True, blank=True, max_length=122)
message = models.CharField(null=True, blank=True, max_length=122)
emp_recvd = models.CharField(null=True, blank=True, max_length=122)
date = models.DateField(null=True, blank=True)
现在 table 中的数据将采用以下方式(示例):
emp_sent | badgename | message | emp_recvd | date |
---|---|---|---|---|
Tony | great job | good | Steve | 01/01/2020 |
Tony | thank you | thanks | Nat | 04/02/2020 |
Steve | great job | nice | Tony | 05/02/2020 |
Steve | congo | nice | Nat | 05/04/2020 |
Bruce | great job | nice work | Clint | 05/06/2020 |
Nat | congo | nice | Bruce | 25/06/2020 |
Steve | great job | nice | Nat | 05/07/2020 |
Nat | thank you | nice work | Tony | 15/07/2020 |
Steve | great job | nice | Bruce | 03/09/2020 |
现在我想编写一个查询集,为我提供前 3 位发件人的姓名(在上面的示例中,依次为 Steve、Nat 和 Tony)以及一些其他详细信息,例如 badgename 和发送和接收的次数。它的外观如下:
(注意:以下table只是为了让我的问题更清楚,在我的实际代码中,我将使用Django上下文在Bootstrap轮播中显示此信息)
Rank | Employee Name | Badgename | Sent | Received |
---|---|---|---|---|
1 | Steve | great job | 3 | 1 |
congo | 1 | 0 | ||
thank you | 0 | 0 | ||
2 | Nat | great job | 0 | 1 |
congo | 1 | 1 | ||
thank you | 1 | 1 | ||
3 | Tony | great job | 1 | 1 |
congo | 0 | 0 | ||
thank you | 1 | 1 |
我也想对 Top 3 接收者做同样的事情,但我会根据对此的答案来解决。
请告诉我我需要的查询集或任何其他可用的解决方案。谢谢!