参考阅读:https://www.oschina.net/translate/django-querysets
参考阅读:http://baijiahao.baidu.com/s?id=1586363345585914420&wfr=spider&for=pc
参考阅读:https://code.ziqiangxuetang.com/django/django-queryset-api.html
参考阅读:http://blog.etianen.com/blog/2013/06/08/django-querysets/
参考阅读:https://www.cnblogs.com/linxiyue/p/4040262.html
参考阅读:https://www.cnblogs.com/yoyo008/p/9076200.html
参考阅读:https://www.cnblogs.com/linxiyue/p/4040262.html
参考阅读:https://code.ziqiangxuetang.com/django/django-queryset-api.html
参考阅读:https://docs.djangoproject.com/en/1.10/topics/db/queries/#complex-lookups-with-q
参考阅读:http://www.cnblogs.com/linjiqin/p/3817814.html
django QuerySet在构造条件是不会进行任何对数据库的操作
只有真正需要使用(查询、遍历等)才会真正进行对数据的相应操作
对QuerySet进行分片操作也是如此,对QuerySet的索引操作只能进行数据库的查询,
QuerySet[i]索引可以进行save()操作,但是毫无意义,并不会真正进行数据库相关的保存操作,而且不会有任何提示,但数据库不会做任何改变(坑)
要对数据库进行增删改查需要使用model操作,通过对QuerySet的遍历能够获得相应的model,但是如果数据量较大不推荐如此,QuerySet提供了批量保存的函数bulk_create(),
详细见参考
QuerySet使用的注意点:使用QuerySet的具体操作(if 判断语句 遍历循环)可能会生成大量的cache,若有必要可以使用exists()和iterator()配合。