相关疑难解决方法(0)

在Django Query中使用.extra(select = {...})引入的值上使用.aggregate()?

我试图计算一个玩家每周玩的次数如下:

player.game_objects.extra(
    select={'week': 'WEEK(`games_game`.`date`)'}
).aggregate(count=Count('week'))
Run Code Online (Sandbox Code Playgroud)

但是Django抱怨说

FieldError: Cannot resolve keyword 'week' into field. Choices are: <lists model fields>
Run Code Online (Sandbox Code Playgroud)

我可以在这样的原始SQL中做到这一点

SELECT WEEK(date) as week, COUNT(WEEK(date)) as count FROM games_game
WHERE player_id = 3
GROUP BY week
Run Code Online (Sandbox Code Playgroud)

如果没有在Django中执行原始SQL,有没有一个好方法呢?

python mysql django django-queryset django-aggregation

23
推荐指数
1
解决办法
9175
查看次数