`
fangzhouxing
  • 浏览: 213334 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Django 1.0数据库分页查询时遇到的程序缺陷

阅读更多

     使用 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出现的缺陷。

 

分享到:
评论
1 楼 pzwsquare 2008-10-09  
只能是说Paginator不兼容1.0

相关推荐

    django1.0文档

    这个“django1.0文档”是官方提供的详尽指南,包含了关于 Django 1.0 的所有核心概念、功能和最佳实践,对于开发者来说是一份非常宝贵的资源。 **Django 框架基础** 1. **模型(Models)**: Django 的核心之一是它...

    分享:集成了Django1.0 的Google App Engine开发 模板项目

    "集成了Django1.0的Google App Engine开发模板项目" 这个标题揭示了我们要探讨的核心内容。它表明我们有一个特定的项目模板,该模板结合了两个重要的技术:Django 1.0 和 Google App Engine。Django是一个广泛使用的...

    Django 1.0.tar.gz

    这个"Django 1.0.tar.gz"文件包含了Django框架的1.0版本,它是Python Web开发的重要工具。 在Web开发领域,框架的作用是提供一个基础结构,帮助开发者组织代码,处理常见的任务,如路由请求、处理表单数据、管理...

    Django1.0速查手册_Django 1.0 Cheat sheet

    此标题表明文档旨在为用户提供Django 1.0版本中的快速查询指南,帮助开发者更快地查阅并应用框架的功能。 #### 描述:Django 1.0 速查手册 描述部分简短重申了标题的内容,强调这是一份针对Django 1.0版本的速查...

    Django 搜索结果分页的实现 以及点击下一页搜索条件丢失可能的原因分析

    1.Django 搜索结果分页的实现 在这里我们用django自带的分页模块来实现 这个paginator对象中带有如下属性: #per_page:每页显示条目数量 #count:数据总个数 #num_pages:总页数 #page_range:总页数的索引范围,如...

    Django 1.0 Template Development

    ### Django 1.0 模板开发:深入解析与实践指南 #### 一、概述 在《Django 1.0 模板开发》这本书中,作者Scott Newman为我们提供了关于如何利用Django 1.0进行高效模板开发的实用指南。本书不仅仅局限于介绍基本的...

    Django1.0 手册 CHM格式

    Django1.0 手册 CHM格式 英文的

    django book 1.0

    《Django Book 1.0》是一本专注于Django框架的中文版教程书籍,由Django团队官方编写。该书详细介绍了Django 1.0版本的相关知识,内容涵盖了从基础概念到高级用法的多个层面。本书的附录部分非常有用,适合有一定...

    Django 1.0 Web Site

    ### Django 1.0 Web Site Development #### 一、Django 框架简介 Django 是一个用 Python 编写的开源 Web 开发框架,它遵循模型-视图-控制器(Model-View-Controller,MVC)架构模式。Django 的设计目标是简化 Web...

    Django 1.0 中文文档.doc

    《Django 1.0 中文文档》是一个详尽的指南,主要针对初学者,旨在帮助读者快速掌握Django框架的基础知识。在这个文档中,首先介绍了如何编写你的第一个Django程序,通过创建一个简单的投票应用来引导学习者逐步了解...

    Django 查询数据库并返回页面的例子

    比如在查询数据库时,如果没有找到符合条件的数据,应该考虑是否要给用户一个友好的提示,而不是简单的返回一个空对象,这可能会导致页面在显示数据时出现错误。 此外,为了提高查询效率和页面性能,还可以对数据库...

    Django1.0TemplateDevelopmentFreePdfBook.pdf 英文原版

    Django 1.0 Template Development – Free Pdf Book

    Django1.0以上版本的教材-DjangoBook2.0中文版.pdf

    Django的强大之处在于其内置的对象关系映射(ORM)系统,这一章重点介绍了如何使用模型类来操作数据库,包括数据查询、增删改查等操作。 6. **Admin管理站点(第六章)** Django自带了一个强大的后台管理系统,...

    django 删除数据库表后重新同步的方法

    在文章中,作者描述了在开发过程中删除了数据库表后,尝试使用makemigrations和migrate命令重新同步数据库时遇到的问题。具体问题表现为,在执行migrate命令时出现了错误提示,错误信息是新增的字段没有默认值。...

    The Django Book1.0中文版

    11. **数据库管理**:Django提供了一系列数据库管理工具,如数据库迁移(South/Migrations)、数据库查询API(QuerySet)等,支持多种数据库引擎。 12. **国际化与本地化**:Django支持多语言,可以方便地进行国际...

    Django 简单实现分页与搜索功能的示例代码

    需要一个页面分页展示信息,在该页面添加搜索框以提供检索功能。 那么,我们知道,展示信息和检索功能是在同一个页面,也就是共用一个路由。 代码如下: 第一步,写路由:为了清晰,这里只给出主页和展示页面的路由...

    解决django同步数据库的时候app models表没有成功创建的问题

    但在实际开发中,可能会遇到一些同步问题,例如在同步数据库时,应用程序(app)中的models表没有成功创建。为解决这一问题,我们可以按照以下步骤操作: 首先,确保在Django的app目录中已经正确地定义了数据模型,...

    Django查询数据库的性能优化示例代码

    Django数据层提供各种途径优化数据的访问,一个项目大量优化工作一般是放在后期来做,早期的优化是“万恶之源”,这是前人总结的经验,不无道理。如果事先理解Django的优化技巧,开发过程中稍稍留意,后期会省不少的...

    django执行数据库查询之后实现返回的结果集转json

    在Django框架中,数据库查询后的结果集通常是一个QuerySet对象,它包含了多个模型实例。当需要将这些数据传递给前端,例如以JSON格式展示时,需要进行一些处理。本文将详细介绍如何在Django中将数据库查询结果转换为...

Global site tag (gtag.js) - Google Analytics