深入理解Django:框架内幕与实现原理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3.1 在Django中执行原生SQL语句

在Django中执行原生SQL语句的操作非常简单,在3.2节的最后演示了如何导入connections模块来执行SQL语句,这就是一种简单的执行原生SQL语句的方式。另外,在django/db/__init__.py中还提供了connection变量,它的定义如下:

其中,DEFAULT_DB_ALIAS变量在前文中已有介绍,它的值正是'default'字符串。根据在DefaultConnectionProxy类中定义的魔法函数可以很明确地知道:connection从代码角度来看正是connections['default']。下面继续在python manage.py shell命令行中演示对connection的操作,代码如下:

上面演示了如何使用Django内置变量connection执行原生SQL语句来操作数据库。这些操作背后的原理在3.2节中已经分析得很清楚了,不再赘述。