gpt4 book ai didi

python - 是否有更清晰/更好的方法来按字段计算不同项目的数量?

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:40 25 4
gpt4 key购买 nike

我想编写一个通用函数,给定一个查询集,返回模型每一列的不同字段的数量。

我目前的功能是:

[queryset.aggregate(Count(x, distinct=True)) for x in [x.get_attname() for x in queryset.model._meta._fields()]]

然而,这相当 hacky/丑陋/不清楚。我想知道是否有更简单/更清晰的方法来做到这一点?

谢谢。

最佳答案

你可以通过more than one聚合到 .aggregate,因此您可以这样做以减少对数据库的调用。下面的代码未经测试,只是为了让您了解我的意思。

args = [Count(x.get_attname(), distinct=True)) for x in queryset.model._meta._fields()]
queryset.aggregate(*args)

关于python - 是否有更清晰/更好的方法来按字段计算不同项目的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com