一、懒加载原理
users = User.objects.all()
for user in users:
print(user.username)
#当调用username时,才向数据库索要user对象所对应的数据名
#.username根据id向数据库发送sql语句,查询user数据,找到数据后,将数据封装到user中,这是就可通过.username取到所需数据
当使用到模型类的数据时,才向数据库加载数据的具体内容
懒加载的好处:节省内存
二、链式调用
排序语法格式:
order_by(【字段1】,-【字段2】)
解释:先根据字段1升序排列,如果字段1相同,则根据字段2进行降序排列。升序还是降序取决于字段前面有无负号。
例如
user = User.opbjects.all().order_by('createDatetime','-birthday')
#先根据createDatetime进行升序排列,createDatetime相同,再进行birthday降序排列。
链式调用
all() filter() exclude() order_by()
返回的类型都为Que删除线格式 rySet,而QuerySet又可以调用QuerySet方法,那么就可以进行链式调用
例如:
all().filter(id = 1)
即为链式调用。