码迷,mamicode.com
首页 > 其他好文 > 详细

Django ORM queryset object 解释(子查询和join连表查询的结果)

时间:2019-02-13 21:19:53      阅读:541      评论:0      收藏:0      [点我收藏+]

标签:查询方式   str   字段   font   需要   query   fir   django   obj   

#下面两种是基于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 等

Django ORM queryset object 解释(子查询和join连表查询的结果)

标签:查询方式   str   字段   font   需要   query   fir   django   obj   

原文地址:https://www.cnblogs.com/ajaxa/p/10371680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!