django max和groupby在一起
我有一个像这样的模型 玩家信息、游戏、分数、创建日期 我想获取某一特定游戏中每个玩家得分最高的记录 感谢您的帮助 编辑:django max和groupby在一起,django,python-3.x,Django,Python 3.x,我有一个像这样的模型 玩家信息、游戏、分数、创建日期 我想获取某一特定游戏中每个玩家得分最高的记录 感谢您的帮助 编辑: 如果我理解正确: 您想通过游戏过滤您的分数s 然后,您需要按用户分组,并获得最大分数 分组依据部分有点棘手,但您可以使用值+注释来实现它 试着这样做: from django.db.models import Max Score.objects.filter(game_info=...) .values('player_info').annotate(max=M
如果我理解正确:
- 您想通过
游戏
过滤
您的
分数
s
- 然后,您需要按
分组,并获得用户
分数最大
分组依据
部分有点棘手,但您可以使用值
+注释
来实现它
试着这样做:
from django.db.models import Max
Score.objects.filter(game_info=...)
.values('player_info').annotate(max=Max('score'))
更多信息和示例:如果我理解正确:
- 您想通过
游戏
过滤
您的
分数
s
- 然后,您需要按
分组,并获得用户
分数最大
分组依据
部分有点棘手,但您可以使用值
+注释
来实现它
试着这样做:
from django.db.models import Max
Score.objects.filter(game_info=...)
.values('player_info').annotate(max=Max('score'))
更多信息和示例:您能提供一些代码吗?喜欢所有相关字段的相关模型吗?这就是我的模型看起来的类分数(models.model):game_info=models.ForeignKey(game,related_name='game_info',on_delete=models.CASCADE)player_info=models.ForeignKey(User,related_name='player_info',on_delete=models.CASCADE)last_played=models.datetime字段(auto_now=True)score=models.BigIntegerField(默认值=0)类游戏(models.Model):name=models.CharField(max_length=50)description=models.TextField(max_length=1000)resource_info=models.URLField()developer_info=models.ForeignKey(用户,相关的_name='uploaded_games',on_delete=models.CASCADE)你能提供一些代码吗?喜欢所有相关字段的相关模型吗?这就是我的模型看起来的类分数(models.model):game_info=models.ForeignKey(game,related_name='game_info',on_delete=models.CASCADE)player_info=models.ForeignKey(User,related_name='player_info',on_delete=models.CASCADE)last_played=models.datetime字段(auto_now=True)score=models.BigIntegerField(默认值=0)类游戏(models.Model):name=models.CharField(max_length=50)description=models.TextField(max_length=1000)resource_info=models.URLField()developer_info=models.ForeignKey(用户,相关的_name='uploaded_games',on_delete=models.CASCADE)