#下面两种是基于QuerySet查询 也就是说SQL中用的jion连表的方式查询books = models.UserInfo.objects.all() print(type(books)) ---> <class ‘django.db.models.query.QuerySet‘> 查询出来是一个对象QuerySey
取值 print(books.values())
books = models.UserInfo.objects.filter()print(type(books)) ---> <class ‘django.db.models.query.QuerySet‘> 查询出来一个QureySet
取值 print(books.values())
总结:books查询来了结果是queryset,然后在这个基础上面查询作者的名字,也就是跨表查询,这时候就需要用values去获取另外一个表的数据.怎么获取呢? 就通过books.values("user__name") user是UserInfo表字段的名称 __代表双下划线
#基于对象的查询 也就是说SQL中用的子查询,就是slecte 里面套了slecte查询方式books = models.UserInfo.objects.first()print(type(books)) ---> <class ‘app.models.UserInfo‘> 查询出来是一个对象
取值 print(books.password)
总结:什么是基于对象? 就是说books对象已经拿到了,相当于就是表中的name这个对象已经查询到了,然后对象点属性取值就可以了可以用点的方式获取数据 books.name 或者 book.age 等
原文地址:https://www.cnblogs.com/ajaxa/p/10371680.html
时间: 2024-10-08 05:14:13