【问题标题】:Django Aggregation: How I can get Max value only?Django 聚合:我怎样才能只获得最大值?
【发布时间】:2019-06-06 08:38:53
【问题描述】:

首先,我使用的是 Django 2.2 和 Python 3.7

我的 models.py 中有这个

class Test(models.Model):
    session = models.IntegerField()
    x_pos = models.IntegerField()
    y_pos = models.IntegerField()

我想做的是从我的数据库中获取“会话”的最大值。

在我的views.py中,我成功地获得了最大值:

from .models import Test
from django.db.models import Max

max_session = Test.objects.all().aggregate(Max('session'))
print(max_session)

问题是当我打印结果时我得到{'session__max': 35}

如何才能在我的 max_session 变量中仅获取值 35?

【问题讨论】:

  • 尝试打印(max_session['session_max'])
  • @julien 不幸的是,这给了我一个错误: print(max_session['session_max']) KeyError: 'session_max'
  • 您能准确提供print(max_session) 的输出吗?根据您提供的输出是带有“session_max”键的字典,因此您不应该有 KeyError
  • 啊我忘了下划线,试试print(max_session['session__max'])

标签: python-3.x django-models django-aggregation django-2.2


【解决方案1】:
print(max_session['session__max'])

【讨论】:

  • 感谢@julien 的回答!只是一个警告,它有一个双下划线!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 2020-10-07
  • 1970-01-01
  • 2018-04-05
  • 2018-03-16
  • 1970-01-01
相关资源
最近更新 更多