使用 Paginator 进行数据库分页查询时,如果有 extra(where=sql) 限制查询范围,同时用 .values() 限定输出字段,就会出现类似下面的错误:
no such column id:
检查后台生成的SQL, 可以看到下面这样奇怪的SQL语句:
SELECT COUNT(*) FROM
(SELECT "t_MenuItem"."id", "t_MenuItem"."name", "t_MenuItem"."descrip"
FROM "t_MenuItem"
WHERE ("t_MenuItem"."name" LIKE %% ESCAPE '\' OR
"t_MenuItem"."descrip" LIKE %% ESCAPE '\' ) AND
id NOT IN (SELECT item_id FROM t_GroupPermissions
WHERE group_id = 2)) A1 WHERE id NOT IN
(SELECT item_id FROM t_GroupPermissions WHERE group_id = 2)
<class 'sqlite3.OperationalError'>
no such column: id
注意就是这一句造成了no such column 错误:
A1 WHERE id NOT IN
(SELECT item_id FROM t_GroupPermissions WHERE group_id = 2)
同样的程序在Django 0.97SVN运行一直正常,可以判定这是Django 1.0出现的缺陷。
分享到:
相关推荐
这个“django1.0文档”是官方提供的详尽指南,包含了关于 Django 1.0 的所有核心概念、功能和最佳实践,对于开发者来说是一份非常宝贵的资源。 **Django 框架基础** 1. **模型(Models)**: Django 的核心之一是它...
"集成了Django1.0的Google App Engine开发模板项目" 这个标题揭示了我们要探讨的核心内容。它表明我们有一个特定的项目模板,该模板结合了两个重要的技术:Django 1.0 和 Google App Engine。Django是一个广泛使用的...
这个"Django 1.0.tar.gz"文件包含了Django框架的1.0版本,它是Python Web开发的重要工具。 在Web开发领域,框架的作用是提供一个基础结构,帮助开发者组织代码,处理常见的任务,如路由请求、处理表单数据、管理...
此标题表明文档旨在为用户提供Django 1.0版本中的快速查询指南,帮助开发者更快地查阅并应用框架的功能。 #### 描述:Django 1.0 速查手册 描述部分简短重申了标题的内容,强调这是一份针对Django 1.0版本的速查...
1.Django 搜索结果分页的实现 在这里我们用django自带的分页模块来实现 这个paginator对象中带有如下属性: #per_page:每页显示条目数量 #count:数据总个数 #num_pages:总页数 #page_range:总页数的索引范围,如...
### Django 1.0 模板开发:深入解析与实践指南 #### 一、概述 在《Django 1.0 模板开发》这本书中,作者Scott Newman为我们提供了关于如何利用Django 1.0进行高效模板开发的实用指南。本书不仅仅局限于介绍基本的...
Django1.0 手册 CHM格式 英文的
《Django Book 1.0》是一本专注于Django框架的中文版教程书籍,由Django团队官方编写。该书详细介绍了Django 1.0版本的相关知识,内容涵盖了从基础概念到高级用法的多个层面。本书的附录部分非常有用,适合有一定...
### Django 1.0 Web Site Development #### 一、Django 框架简介 Django 是一个用 Python 编写的开源 Web 开发框架,它遵循模型-视图-控制器(Model-View-Controller,MVC)架构模式。Django 的设计目标是简化 Web...
《Django 1.0 中文文档》是一个详尽的指南,主要针对初学者,旨在帮助读者快速掌握Django框架的基础知识。在这个文档中,首先介绍了如何编写你的第一个Django程序,通过创建一个简单的投票应用来引导学习者逐步了解...
比如在查询数据库时,如果没有找到符合条件的数据,应该考虑是否要给用户一个友好的提示,而不是简单的返回一个空对象,这可能会导致页面在显示数据时出现错误。 此外,为了提高查询效率和页面性能,还可以对数据库...
Django 1.0 Template Development – Free Pdf Book
Django的强大之处在于其内置的对象关系映射(ORM)系统,这一章重点介绍了如何使用模型类来操作数据库,包括数据查询、增删改查等操作。 6. **Admin管理站点(第六章)** Django自带了一个强大的后台管理系统,...
在文章中,作者描述了在开发过程中删除了数据库表后,尝试使用makemigrations和migrate命令重新同步数据库时遇到的问题。具体问题表现为,在执行migrate命令时出现了错误提示,错误信息是新增的字段没有默认值。...
11. **数据库管理**:Django提供了一系列数据库管理工具,如数据库迁移(South/Migrations)、数据库查询API(QuerySet)等,支持多种数据库引擎。 12. **国际化与本地化**:Django支持多语言,可以方便地进行国际...
需要一个页面分页展示信息,在该页面添加搜索框以提供检索功能。 那么,我们知道,展示信息和检索功能是在同一个页面,也就是共用一个路由。 代码如下: 第一步,写路由:为了清晰,这里只给出主页和展示页面的路由...
但在实际开发中,可能会遇到一些同步问题,例如在同步数据库时,应用程序(app)中的models表没有成功创建。为解决这一问题,我们可以按照以下步骤操作: 首先,确保在Django的app目录中已经正确地定义了数据模型,...
Django数据层提供各种途径优化数据的访问,一个项目大量优化工作一般是放在后期来做,早期的优化是“万恶之源”,这是前人总结的经验,不无道理。如果事先理解Django的优化技巧,开发过程中稍稍留意,后期会省不少的...
在Django框架中,数据库查询后的结果集通常是一个QuerySet对象,它包含了多个模型实例。当需要将这些数据传递给前端,例如以JSON格式展示时,需要进行一些处理。本文将详细介绍如何在Django中将数据库查询结果转换为...