当前位置: 首页 > news >正文

Django对RawQuerySet进行计数

提问

你好,我使用的是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

大家有什么想法吗?

回答1

使用’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 Archive将其保存在:http://web.archive.org/web/20110513122309/http://djangoadvent.com/1.2/smoothing-curve/ 】

欢迎来弦圈一起翻译StackOverflow等国外编程内容👇👇👇
翻译原文:Django对RawQuerySet进行计数
更多Django相关内容:Django - 弦圈
更多其他趣味内容:弦圈 - 找到属于你的圈子


http://www.mrgr.cn/news/7119.html

相关文章:

  • API容易被攻击,如何做好API安全
  • 25考研计算机组成原理复习·4.1指令系统/4.2指令的寻址方式
  • 如何保证Redis与数据库之间的一致性
  • 回归预测 | Matlab实现WOA-ESN鲸鱼算法优化回声状态网络多输入单输出回归预测
  • 开放式耳机有什么好处?权威推荐5个实用好用品牌
  • Nginx IP 限制与路径访问控制配置
  • aosp源码导入android studio无法跳转-学员答疑
  • Web应用加密数据传输方案
  • 【计算机组成原理】三、存储系统:5.页式存储、虚拟存储
  • 车牌号字符检测系统源码分享 # [一条龙教学YOLOV8标注好的数据集一键训练_70+全套改进创新点发刊_Web前端展示]
  • 大数据技术之Zookeeper实现分布式锁(5)
  • 最近最少使用数据结构(LRU)
  • 智算中心网络交换机缓存架构解析
  • flume系列之:flume生产环境sink重要参数理解
  • 广州自闭症学校哪家好?
  • 【大模型理论篇】基于3D可视化视角理解GPT
  • STM32————SPI硬件外设实现读写
  • Spring Boot-加载配置文件ConfigDataEnvironmentPostProcessor
  • 25届网安秋招,信息泄露常问之配置信息泄露
  • 外网爆火的LLM应用手册来了!内行人都在学的大模型黑书,豆瓣评分高达9.9!!!