|
|
2.0/chapter02/#332 |
2010-01-10 04:16:01
|
好了,你已经安装好一切所需, 并且开发服务器也运行起来了,你已作好了准备可以继续 <reference name="learn the basics" refuri="../chapter03/">学习基础知识---用Django伺候网頁</reference> , 这一章的内容。
|
|
|
2.0/chapter10/#268 |
2010-01-05 17:10:28
|
然后这样使用:
|
|
|
2.0/chapter10/#265 |
2010-01-05 17:09:40
|
比如,上面的例子可以被整合成一个自定义manager方法就像这样:
|
|
|
2.0/chapter10/#264 |
2010-01-05 17:08:38
|
更不要把你的视图代码和django.db.connection语句混杂在一起,把它们放在自定义模型或者自定义manager方法中是个不错的主意.
|
|
|
2.0/chapter10/#262 |
2010-01-05 17:06:05
|
如果你使用了这个技术,数据库后的基础库将会自动添加引用同时尽可能的转意你的参数.
|
|
|
2.0/chapter10/#261 |
2010-01-05 17:03:51
|
如果你对Python DB-API不熟悉,请注意在SQL语句cursor.execute()使用"%s",而不要在SQL内试图立刻添加一个参数.
|
|
|
2.0/chapter10/#260 |
2010-01-05 17:00:23
|
connection和curso可以最大程度的实现标准Python DB-API,你可以在http://www.python.org/peps/pep-0249.html了解它.
|
|
|
2.0/chapter10/#257 |
2010-01-05 16:58:34
|
例如:
|
|
|
2.0/chapter10/#256 |
2010-01-05 16:58:24
|
然后,使用cursor.execute(sql, [params])来执行SQL语句和cursor.fetchone()或者cursor.fetchall(),返回记录集.
|
|
|
2.0/chapter10/#255 |
2010-01-05 16:57:08
|
使用它,通过connection.cursor()可以得到一个游标对像.
|
|
|
2.0/chapter10/#255 |
2010-01-05 16:56:56
|
使用它,通过connection.cursor()可以得到一个游标对像
|
|
|
2.0/chapter10/#254 |
2010-01-05 16:56:02
|
你可以通过导入django.db.connection对像来轻松实现,它代表当前数据库连接.
|
|
|
2.0/chapter10/#253 |
2010-01-05 16:54:54
|
有时候你会发现django数据库api带给你的也只有这么多,那你可以为你的数据库写一些自定义SQL查询.
|
|
|
2.0/chapter10/#251 |
2010-01-05 16:53:31
|
执行,行SQL查询.
|
|
|
2.0/chapter10/#248 |
2010-01-05 16:53:04
|
在这演示例子的用法.
|
|
|
2.0/chapter10/#246 |
2010-01-05 16:52:16
|
想了解更多property请到http://www.python.org/download/releases/2.2/descrintro/#property
|
|
|
2.0/chapter10/#245 |
2010-01-05 16:51:40
|
例子中的最后一个方法是一个property.
|
|
|
2.0/chapter10/#242 |
2010-01-05 16:50:24
|
这个模型有一些自定义方法.
|
|
|
2.0/chapter10/#241 |
2010-01-05 16:49:55
|
一个例子是阐述它的最简单途径.
|
|
|
2.0/chapter10/#239 |
2010-01-05 16:49:25
|
在模型的同一处保持事务逻辑是一项有价值的技术.
|
|
|
2.0/chapter10/#237 |
2010-01-05 16:48:11
|
有鉴于manager经常被用来用一些table-wide的事情,模型方法应该只对特殊模型实例起作用.
|
|
|
2.0/chapter10/#236 |
2010-01-05 16:46:43
|
为了给你的对像添加一个行级功能,那就定义一个自定义方法.
|
|
|
2.0/chapter10/#234 |
2010-01-05 16:42:49
|
模型方法
|
|
|
2.0/chapter10/#232 |
2010-01-05 16:42:29
|
结论是,你通常要小心的选择你的默认manager.由于覆盖get_query_set(),你可能接受到一个无用的返回对像,你必须避免这种情况.
|
|
|
2.0/chapter10/#231 |
2010-01-05 16:37:09
|
Django将会把第一个manager定义为默认manager,Django的许多部分(但是不包括admin应用)将会明确的为模型使用这个manager.
|
|
|
2.0/chapter10/#230 |
2010-01-05 16:33:28
|
如果你自定义了Manager对像.请注意,第一个Manager(它在模型中被定义的位置)会有一个特殊状态.
|
|