Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Queryset不能重新排序一个查询,一旦一个片被取下来

Queryset不能重新排序一个查询,一旦一个片被取下来
EN

Stack Overflow用户
提问于 2013-11-28 08:13:17
回答 2查看 3.8K关注 0票数 1

我在Django的queryset遇到了一些麻烦。不幸的是,我不能使用构建在分页中的Django REST框架,因为它添加了未使用的JSON字段,如"next“、"previous”和"count",因此我希望限制在queryset上使用:10选项。

在下面的尝试中,我得到了错误:Queryset Cannot reorder a query once a slice has been taken.

代码语言:javascript
运行
AI代码解释
复制
class LocationsViewSet(viewsets.ReadOnlyModelViewSet):
    serializer_class = serializers.LocationSerializer
    ordering = ('location_name',)

    def get_queryset(self):
        queryset = models.GeonamesLocation.objects.all()
        name_prefix = self.request.QUERY_PARAMS.get('name_prefix', None)
        if name_prefix is not None:
            if len(name_prefix) < 3:
                raise exceptions.ParseError("'name_prefix' must consist of at least 2 characters")
            queryset = queryset.filter(location_name__icontains = name_prefix).order_by('location_name', 'geonames_country', 'geonames_region')[:10]
        return queryset

我理解如果我在执行[:10]之前应用了order_by,为什么会得到这个错误,但是既然我是在之后执行这个错误,它为什么会给我这个错误?

谢谢,马克

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-28 09:02:42

此错误发生在get_queryset返回queryset之后,因为LocationViewSet具有“oder”属性,该属性试图再次对查询集进行重新排序。

票数 1
EN

Stack Overflow用户

发布于 2013-11-28 08:52:33

您可以在代码中为10个结果编写原始查询,就像这样,

代码语言:javascript
运行
AI代码解释
复制
org = Organization.objects.raw('SELECT organization_id, name FROM organization where is_active=1 ORDER BY name limit 10')

在原始查询中保留一件事情,您必须始终获取表的主键,这是强制性的。这里,organization_idcontact_organization表的主键。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20270629

复制
相关文章
如何查看Django ORM执行的SQL语句
Django ORM对数据库操作的封装相当完善,日常大部分数据库操作都可以通过ORM实现。
BigYoung小站
2020/05/06
1.9K0
如何修改django的app在admin中显示的名称
在django的开发中,很多时候我们希望app在admin中显示成我们想要的中文名,而不是显示默认的app_label名称。 比如我们有一个blog应用,在我们的blog app目录下面,默认会生成一个apps.py文件,类似:
小海怪的互联网
2019/09/25
3.5K0
如何修改django的app在admin中显示的名称
网站如何加入显示运行时间
世间万物皆苦,你明目张胆的偏爱就是救赎。 网站加入运行时间精确到秒 把下面代码加到你需要的地方,很简单的,我还是比较喜欢这样的个性代码的 <span id="runtime_span"></span> <script type="text/javascript"> function show_runtime() {window.setTimeout("show_runtime()",1000); X=new Date("10/16/2017 5:22:00"); Y=new Date(); T=(Y.
白黎
2023/03/16
7550
网站如何加入显示运行时间
Django admin显示中文
在定义 Model 类的时候,在 Meta 里面显式指定 verbose_name 和 verbose_name_plural即可指定该模型在 Admin 里面显示的别名。
用户2936342
2018/08/27
1.2K0
django显示当前时间
直接用HttpResponse返回一个html标签不太好,如果代码比较多,就不合适了。
py3study
2018/08/02
3.1K0
如何修改django的app在admin后台中显示的名称,也就是显示为中文
第一步 在以上的文件里面写你想要展示的中文 第二部 将那个方法在init文件里面导入,重新启动项目就可以了
一写代码就开心
2020/12/01
1.4K0
如何修改django的app在admin后台中显示的名称,也就是显示为中文
Spring Boot 如何监控 SQL 运行情况?
今天想和大家聊一聊 Druid 中的监控功能。 Druid 数据库连接池相信很多小伙伴都用过,个人感觉 Druid 是阿里比较成功的开源项目了,不像 Fastjson 那么多槽点,Druid 各方面一直都比较出色,功能齐全,使用也方便,基本的用法就不说了,今天我们来看看 Druid 中的监控功能。 1. 准备工作 首先我们来创建一个 Spring Boot 工程,引入 MyBatis 等,如下: 选一下 MyBatis 和 MySQL 驱动,做一个简单的测试案例。 先来连接一下数据库: spring.da
江南一点雨
2022/03/04
6130
SpringBoot 如何统计、监控 SQL运行情况?
上述配置文件的参数可以在 com.alibaba.druid.spring.boot.autoconfigure.properties.DruidStatProperties 和 org.springframework.boot.autoconfigure.jdbc.DataSourceProperties中找到;
鱼找水需要时间
2023/02/16
1.6K0
SpringBoot 如何统计、监控 SQL运行情况?
[Centos7.2]Django挂载后台运行
在Linux环境中运行这个命令,倘若是通过ssh连接,在连接关闭后Dango也会跟着中断!
贰叁壹小窝
2020/07/22
1.2K0
显示mybatis的执行的sql
让mybatis也像hibernate.show_sql一样显示执行sql
似水的流年
2018/01/14
6850
显示mybatis的执行的sql
显示mybatis的执行sql 让mybatis也像hibernate.show_sql一样显示执行sql 在log4j.properties 添加 log4j.rootLogger=DEBUG, Console #Console log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console
似水的流年
2018/01/18
9020
显示mybatis的执行的sql
显示mybatis的执行sql 让mybatis也像hibernate.show_sql一样显示执行sql 在log4j.properties 添加
似水的流年
2019/12/08
8030
如何让django的model名和应用名显示为中文
如何修改django.admin中一个应用的名称:复制下面的代码放入应用目录下的init.py中即可,通过修改 verbose_name = u’中文名称’
菲宇
2022/12/21
8460
docker 运行Django项目
已经写好了一个Django项目,需要将这个项目用docker封装一个镜像,使用k8s发布!
py3study
2020/02/24
1.3K0
Django 中图片的上传及显示
在 Django 中,上传文件不同于普通服务器的上传方法,在普通服务器中只需要使用一个 Controller 来控制文件的上传即可完成,但是在 Django 中,则需要额外使用数据库资源来存储文件。本文将说明如何使用 Django 接收、保存并且返回图片。
Kindem
2022/08/12
3.4K0
如何杀掉pg数据库正在运行的sql
我们在生产环境可能经常遇到长sql,长sql对数据库的影响还是挺大的,不仅可能对主机资源消耗较大,还可能会阻塞其他sql的正常执行,所以对于长sql我们要尤其注意。一般生产环境都会配置长sql告警,可以根据业务情况调整告警阈值。
数据库架构之美
2019/12/18
4.1K0
Mybatis显示SQL语句
众所周知,hibernate可以通过配置show_sql在控制台显示sql语句,Mybatis可不可以呢?当然是可以的,将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句,方便调试:
河岸飞流
2019/08/09
2K0
pycharm怎么运行django项目_django怎么用
 原文转载自:http://www.cnblogs.com/Leo_wl/p/5824541.html
全栈程序员站长
2022/09/27
2.4K0
pycharm怎么运行django项目_django怎么用
点击加载更多

相似问题

ionic:添加自己的cordova插件

31

添加oneSignal插件cordova - Ionic 2

10

Ionic Cordova插件

118

Cordova诊断插件不工作

12

在Ionic 2中添加一个cordova插件

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档