Django 1.0从数据库中获取最大值

时间:2011-02-05 18:37:10

标签: django django-models

如何在django 1.0版本中执行max query。我尝试从django.db.models导入Max,但似乎只在1.1版本中可用,并且在1.0时出错。

请建议。

提前致谢

1 个答案:

答案 0 :(得分:1)

首先,它会是from django.db.models import Max,但你是对的,它是在1.1中引入的,并且无论如何都会抛出一个ImportError。

您可以使用extra()
http://docs.djangoproject.com/en/1.0/ref/models/querysets/#extra-select-none-where-none-params-none-tables-none-order-by-none-select-params-none

Model.objects.extra(select={'max':'MAX(myfield)'})[0].max

或者转到SQL:
http://docs.djangoproject.com/en/dev/topics/db/sql/#executing-custom-sql-directly

from django.db import connection

cursor = connection.cursor()
cursor.execute("SELECT MAX(myfield) from myapp_mytable")
max = cursor.fetchone()[0]