gpt4 book ai didi

python - Django 计数 RawQuerySet

转载 作者:IT老高 更新时间:2023-10-28 20:51:32 26 4
gpt4 key购买 nike

嘿,我正在使用 django 1.2,我想知道如何计算原始查询集 (RawQuerySet) 中的行数。

传统的 .count() 方法不起作用。

这是我的问题

query = "SELECT *, ((ACOS(SIN(%s * PI() / 180) * SIN(lat * PI() / 180) + COS(%s * PI() / 180) * COS(lat * PI() / 180) * COS((%s - lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM app_car WHERE price BETWEEN %s AND %s HAVING distance<=%s ORDER BY distance ASC"

cars = Car.objects.raw(query, [lat, lat, lon, min_price, max_price, miles])

return HttpResponse( cars )

它的回归

Car_Deferred_model_id_user_id object

有什么想法吗?

最佳答案

使用“len()”函数。这将给出:

query = "SELECT *, ((ACOS(SIN(%s * PI() / 180) * SIN(lat * PI() / 180) + COS(%s * PI() / 180) * COS(lat * PI() / 180) * COS((%s - lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM app_car WHERE price BETWEEN %s AND %s HAVING distance<=%s ORDER BY distance ASC"

cars = Car.objects.raw(query, [lat, lat, lon, min_price, max_price, miles])

return HttpResponse(len(list(cars))

另外:有一些关于 Django 1.2 Model.objects.raw() 方法的有用信息:http://djangoadvent.com/1.2/smoothing-curve/ [看起来该站点可能已过期,但 Internet 存档位于:http://web.archive.org/web/20110513122309/http://djangoadvent.com/1.2/smoothing-curve/ ]

关于python - Django 计数 RawQuerySet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2317452/

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