中篇介绍的是添加,下篇主要介绍查询

通过一个Book表的书的信息查询Publish表中出版社的信息

def addbook(request):
# Book.objects.create(name="linux运维",price=77,pub_date="2018-11-2",publish_id=2) # publish_obj=Publish.objects.filter(name="人民出版社")[0]
# Book.objects.create(name="GO",price=23,pub_date="2018-10-2",publish=publish_obj) book_obj=Book.objects.get(name="python")
print(book_obj.name)
print(book_obj.pub_date)
print(book_obj.publish.name)
print(type(book_obj.publish))
return HttpResponse("添加成功")

可以看见Book.obj.publish是一个对象,后面可以直接.属性获取相应的值。

如果要看一个出版社出版了多少书

def addbook(request):
# Book.objects.create(name="linux运维",price=77,pub_date="2018-11-2",publish_id=2) # publish_obj=Publish.objects.filter(name="人民出版社")[0]
# Book.objects.create(name="GO",price=23,pub_date="2018-10-2",publish=publish_obj) # book_obj=Book.objects.get(name="python")
# print(book_obj.name)
# print(book_obj.pub_date)
# print(book_obj.publish.name)
# print(type(book_obj.publish)) pub_obj=Publish.objects.filter(name="人民出版社")[0]
ret=Book.objects.filter(publish=pub_obj).values("name","price")
print(ret)
return HttpResponse("添加成功")

pub_obj是一个对象,获取到name是人民出版社的集合,取其中的第一个。此时表中只有一个人民出版社。

ret是找到publish对象为人民出版社的书的集合,取这些集合对象中的name和price的值。

由于此时Book表中每个出版社只有一本书,所以为了看到效果,在Book表中手动添加2本书书籍。

然后刷新http://127.0.0.1:8888/addbook/页面

会看见pycharm的Terminal窗口输出:

<QuerySet [{'name': 'GO', 'price': 23}, {'name': 'C++', 'price': 99}]>

可以看出,人民出版社出版了GO和C++两本书,是正确的。

最新文章

  1. 信息收集-&gt;DNS分析-&gt;dnsdict6
  2. 一个卡片式的ViewPager,带你玩转ViewPager的PageTransformer属性!
  3. iOS App 性能优化总结
  4. 《HTML5与CSS3权威指南》读书笔记(上册)—HTML5篇
  5. CSS书写规范与理论
  6. React日常填坑手册(持续更新)
  7. Xcode intellisense meaning of letters in colored boxes like f,T,C,M,P,C,K,# etc
  8. sqlserver 以年月日为条件查询记录
  9. Windows Live Writer介绍及相关问题解决
  10. keepalived高可用简介与配置
  11. 【Linux】linux中文本操作利器grep,awk,sed
  12. 附006.harbor.cfg配置文件详解
  13. (7)Pool进程池
  14. 解决 TCP_socket 粘包问题
  15. ASP.NET MVC5+EF6+LayUI实战教程,通用后台管理系统框架(1)
  16. 【html5】html5 本地存储
  17. BFS(广搜)DFS(深搜)算法解析
  18. DX孟虎点评新兴市场:巴西俄罗斯火爆背后
  19. RDP协议暴力破解
  20. Windows关机过程分析与快速关机

热门文章

  1. CART算法与剪枝原理
  2. 进阶开发——文档,缓存,ip限速
  3. Java多线程4:Thread中的静态方法
  4. WhiteHat Contest 11 : re1-100
  5. ASP.NET Core 2.0 Cookie Authentication
  6. Javascript和Jquery语法对比总结
  7. 安卓Android基础—第二天
  8. 【XSY2472】string KMP 期望DP
  9. require.js基本用法
  10. 多项式细节梳理&amp;模板(多项式)