django 实例,django入门与实践教程.PDF
学习笔记,仅供参考,有错必纠。
参考:Django搭建大型企业官网————黄Y;公文
QuerySet转换SQL
生成QuerySet对象不会立即转换为SQL语句。例如,我们获取图书表下的所有图书:
books=Book.objects.all()
Print(connection.queries)打印connection.queries时,会返回一个空列表,表示上面的QuerySet没有真正执行。
在下列情况下,QuerySet将被转换为SQL语句执行:
迭代:遍历QuerySet对象时,会先执行SQL语句,然后返回结果进行迭代。例如,下面的代码将被转换为SQL语句:for book in Book.objects.all():
Print(book)使用步长切片:QuerySet可以像列表一样切片。切片操作本身不会执行SQL语句,但是如果在切片操作过程中提供了步长,SQL语句会立即执行。需要注意的是,切片后不能执行filter方法,否则会报错。调用len函数:调用len函数获取QuerySet中的数据总数也会执行SQL语句。调用list函数:调用list函数将QuerySet对象转换为list对象也会立即执行SQL语句。判断:如果判断出一个QuerySet,则立即执行SQL语句。
转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。