关联查询(一对多)

关联查询(一对多)

  • 说明:

    在一对多的关系中,一对应的类我们叫做一类,多对应的类我们叫做多类。我们把多类中建立关联的类属性叫做关联类属性。关联类的查询我们叫做关联查询

  • 图解:
    在这里插入图片描述

  • 通过模型类查询

    在查询的过程中要分清楚是一类还是多类

    查询对象 被查询对象 示例 说明 结果
    一类 多类 Book.objects.filter(hero__id__gt=3) 查询英雄编号大于3的所属于的书籍信息 QuerySet [<Book: Book object (3)>, <Book: Book object (4)>, <Book: Book object (5)>, <Book: Book object (3)>]>
    多类 一类 Hero.objects.filter(fid__book_id=1) 查询书籍编号为1中所有的英雄 QuerySet [<Hero: Hero object (1)>, <Hero: Hero object (3)>]>

    由此可见查询的方法:

    1. 查询什么就以什么类在最外面。****的书籍信息,就是Book.objects啥啥啥的。****的英雄信息就是Hero某某某的。看最后的落脚点

    2. 多查一
      多类名.objects.查询函数(关联条件属性__(双下划线)一类属性名__查询条件)

    3. 一查多
      一类名.objects.查询函数(多类名(小写)__多类属性名__查询条件)

值得注意:

  1. 通过模型类实例对象来关联查询的时候,要哪个类就用哪个类查
  2. 写关联查询条件的时候如果类中有关联属性,则直接写关联属性。如果没有关联属性则写对应的类名

发布了37 篇原创文章 · 获赞 0 · 访问量 1510

猜你喜欢

转载自blog.csdn.net/qq_43707116/article/details/104377629