您还没有登录。现在登录注册

Bug!Bug?Bug.....

分类: 编程   |   jeff  发表于:2007-09-20 00:14:08  |   2条评论  |

又遇到了灵异事件。。Django的ORM。orz.

昨天对Blog的程序进行了优化。见前一篇文章,因于文章分类允许为Null导致查询文章列表时(列表需要显示分类名)Select_related不起作用引发了1+N问题,所以我把Null=True去掉。减却了多余的N条查询。但是奇怪的事情发生了,我从早上开始发觉,首页列表的作者变成了Blog的Title。但代码明明是{{entry.author.name}}!我改成其他属性试下,依然是Print出Blog的其他属性。我回想昨天更新做过的改动,撒销均无效。最后想起会不会是因为改了Model的属性引起的,于是我把分类的Null=True加上。果然!显示正常了。这是为什么呢?不解!缓存?没可能吧?

我是不可能再把分类的Null=true保留的,因为实践证明这样对性能损耗太大。但不加上又出现属性值错乱的情况。怎么办?最后我作了个尝试,我把Model里面的属性调换了一下位置,原来Author在Catelog下方:

catelog = models.ForeignKey(Catelog,verbose_name='分类')
author = models.ForeignKey(Account,verbose_name='作者')

现在改回来,Author写在Catelog上方。显示正常。My god!

author = models.ForeignKey(Account,verbose_name='作者')
catelog = models.ForeignKey(Catelog,verbose_name='分类')

这是我的程序的Bug?还是Django的Bug?还是我的Bug?我想这个解决的办法不是好办法。

我拿到三种情况的Sql。一是分类为Null的查询,二是分类为NotNull的查询,三是分类为NotNull且Author属性排在Catelog前面的查询。结果是第一和第三种情况blog_account_name所在的列位置是一样的。这是否说明Django的确是记住查询结果的位置并且缓存起来了?但缓存到哪里了呢?如果刷新呢?

标签:python django sql orm 数据库 

评论(2条)



(可不填)



 = 

站内搜索

作者简介

jeff

一身不由已的前developer, 狂爱音乐,篮球,现习詠春.现在看见别人写代码就流口水,转而效阿Q曰:我在编写生活的代码.不管做什么,全力以赴!到这里看我都在发些什么牢骚.

mail
qq

赞助商链接

唠叨些啥捏

friends connect

我看我听我读

都有谁评论鸟

Tags

python 朋友 音乐 工作 django 生活 java 旅游 丽江 云南 编程 空间 javascript 摇滚 apple air 年假 2008 中国 google mac apache 主机 ajax grails 技术 健康 部署 学习 更新 web 互联网 gfw 乐队 ext 灾难 感情 flex jmesa 哀悼日 灾害 jquery beautifulSoup 感悟 flash 体验 开源 卖唱 plone 软件管理 数据库 电影 恐怖 诗歌 计划 原创 开发 orm sql 全文搜索 lucene 发呆 2009 管理 随想 大理 免费 mozilla 感性 香格里拉 休假 firefox 鼻炎 许巍 php 网络 AMF actionscript 汉诺塔 算法 递归 结婚 opensource htmlparse mindnode mindmap 技巧 blogspot url prototpye cpug 在线服务 嵌入式 海鲜 thing p2p easymule codeigniter 休眠 caffeine 英语 翻译 gtd task vpn 穿墙 手机仿真 经济 聚会 出差 prism 搬家 北京 api 创业 商城 blackberry 手机 TD 交流 处事 为人 房子 代理 西片 中文分词 模板 分页 成功 pagerank 中文 个性化 秋天 json 事业 职业 读书 香港 澳门 忧郁 函数式编程 并发 惊变 mysql rss 文艺片 太阳 彩色 factcgi lighttpd editor MYMeditor 日志 hibernate 英伦 中间件 erlang 冬天 compass dvd 需求 设计 信息 人生 真诚 life 杭州 捐赠 scrum 软件过程 快速开发 cms nuexo zope 左小诅咒 ria 遇窃 广州 地下 暴力 美学 声音玩具 独立 备份 数据 琐事 博客 接口 设计模式 图表 wiki moin demo

日志分类

友情连接

Power By