ORM 的反向查找(related_name)

先定义两个模型,一个是A,一个是B,是一对多的类型。

class A(models.Model):
name= models.CharField('名称', max_length=32) class B(models.Model):
a= models.ForeignKey(A, verbose_name='A类',related_name = "test")
name = models.CharField('称呼', max_length=16)

如果我们要查询一个A拥有哪些B的话,那我们要怎么做呢

通过主表来查询子表

A.objects.get(id=A_id).test.all().order_by('-created'),

django 默认每个主表的对象都有一个是外键的属性,可以通过它来查询到所有属于主表的子表的信息。这个属性的名称默认是以子表的名称小写加上_set()来表示(上面默认以b_set访问),默认返回的是一个querydict对象。

related_name 可以给这个外键定义好一个别的名称

通过子表来查询主表

 B.objects.filter(a=A_id).order_by('-created')

转自
https://blog.csdn.net/u013575984/article/details/77319642

最新文章

  1. css浮雕效果
  2. 总结-jQuery
  3. 例子:Background Audio Streamer Sample
  4. caffe中的props
  5. myeclipse-建立webservice服务端和客户端
  6. Toad for Oracle 12.1下载地址
  7. [POJ 2891] Strange Way to Express Integers
  8. 关于php的两个符号@和$
  9. iOS-开发日志-UITextView介绍
  10. yum源的配置
  11. javascript中0级DOM和2级DOM事件模型浅析
  12. C++(MFC)中WebBrowser去除3D边框的方法(实现IDocHostUIHandler接口)
  13. python爬虫之获取验证码登陆
  14. 使用kafka connect,将数据批量写到hdfs完整过程
  15. Linux shell查询ip归属地
  16. 【学习总结】Git学习-GIT工作流-千峰教育(来自B站)
  17. mysql传统主从配置与主从监控
  18. Tushare数据的绘图操作
  19. 云服务设置多台tomcat开机自启动
  20. Qt下libusb-win32的使用(一)打印设备描述符

热门文章

  1. php -- 用文本来存储内容,file_put_contents,serialize,unserialize
  2. php -- php获取ip地址和主机名
  3. PyQt的Layout的比例化分块。
  4. mysql根据查询结果,创建表
  5. pl/sql 实现归并算法 (合并插入法的优化)
  6. Java Web项目--使用JSP生成一个页面
  7. 在Hyper-V Linux VM如何选择LIS Linux集成服务
  8. 83、android的消息处理机制(图+源码分析)——Looper,Handler,Message
  9. QA规范
  10. HDU 5877 2016大连网络赛 Weak Pair(树状数组,线段树,动态开点,启发式合并,可持久化线段树)