相关疑难解决方法(0)

如何在Django中进行SELECT COUNT(*)GROUP BY和ORDER BY?

我正在使用事务模型来跟踪通过系统的所有事件

class Transaction(models.Model):
    actor = models.ForeignKey(User, related_name="actor")
    acted = models.ForeignKey(User, related_name="acted", null=True, blank=True)
    action_id = models.IntegerField() 
    ......
Run Code Online (Sandbox Code Playgroud)

如何获得系统中的前5名演员?

在sql中它基本上是

SELECT actor, COUNT(*) as total 
FROM Transaction 
GROUP BY actor 
ORDER BY total DESC
Run Code Online (Sandbox Code Playgroud)

django django-queryset

77
推荐指数
2
解决办法
6万
查看次数

django在查询中计算相同字段值的最有效方法

比方说,如果我有一个有很多领域的典范,但我只关心一个charfield.让说charfield可以是任何东西,所以我不知道可能的值,但我知道,频繁的值重叠.所以,我可以有20个对象与"ABC"和10个对象与"XYZ"我也可以有"高清"和80"STU" 50个对象和我有40000没有重叠,我真的不关心.

如何有效地计算对象?我想要归还的是:

{'abc':20,'xyz':10,'其他':10,000}

或类似的东西,没有进行大量的SQL调用.

编辑:

我不知道是否有人会看到这个,因为我编辑它有点晚了,但是......

我有这个型号:

class Action(models.Model):
    author = models.CharField(max_length=255)
    purl = models.CharField(max_length=255, null=True)

从答案中,我做到了这一点:

groups = Action.objects.filter(author='James').values('purl').annotate(count=Count('purl'))

但...

这是什么组:

{"purl": "waka"},{"purl": "waka"},{"purl": "waka"},{"purl": "waka"},{"purl": "mora"},{"purl": "mora"},{"purl": "mora"},{"purl": "mora"},{"purl": "mora"},{"purl": "lora"}

(我只是用虚拟值填充了purl)

我想要的是什么

{'waka': 4, 'mora': 5, 'lora': 1}

希望有人会看到这个编辑...

编辑2:

显然,我的数据库(BigTable的)不支持的Django的聚合函数,这就是为什么我一直有所有问题.

django django-models django-queryset

45
推荐指数
3
解决办法
3万
查看次数

Django:GROUP BY两个值

我基本上喜欢和这个问题一样,但是通过两个值的组合进行分组,而不仅仅是一个:

SELECT player_type, team, COUNT(*) FROM players GROUP BY player_type, team;
Run Code Online (Sandbox Code Playgroud)

有没有人知道在Django中这是否可行以及如何实现?我正在使用1.2.

django

22
推荐指数
1
解决办法
1万
查看次数

Django查询以获取特定列的所有不同值的计数

我试图获取特定列中所有不同值的计数,例如我在模型名称MyModel中有以下表:

Id  City     vendor

1   Mumbai      2
2   Pune        3
3   Mumbai      1
4   Yavatmal    2
5   Pune        5
Run Code Online (Sandbox Code Playgroud)

我正在寻找像这样的输出:

[{'Mumbai':2},{'Pune':2},{'Yavatmal':1}]
Run Code Online (Sandbox Code Playgroud)

django django-models django-orm django-postgresql

5
推荐指数
1
解决办法
5984
查看次数