首页IT科技django limit查询(学习笔记——Django项目中关联查询以及关联查询的筛选)

django limit查询(学习笔记——Django项目中关联查询以及关联查询的筛选)

时间2025-09-19 16:46:10分类IT科技浏览6412
导读:2022-10-01...

2022-10-01

关联查询:

  在Django项目中使用ORM模式设置表后                ,进行关联查询                          ,即两个表直接有联系的查询                  。

方式:

  可以通过主表查询从表        ,也可以通过从表查询主表                        。

----------------

方式一实例:

(1)查询编号为1的图书中的人物

前提环境            ,进入pycharm                          ,进入虚拟环境                、进入shell环境        。

首先            ,需要导入模块        ,先查询书籍编号为1的图书                          ,后在此书中查询包含的人物              。

book = BookInfo1.objects.get(id = 1)

通过主表查询从表信息

 book.personinfo_set.all()

  注:我的天呐                 ,姐妹们    ,要注意了                         ,“personinfo_set                ”后面是没有括号的                      ,不加括号类似于系统默认给定的属性值                        。大早上的,搞人心态                    ,晕~~~            。

  说明:其中"personinfo"表中的字段有“id                          ”                          、“name        ”        、“gender            ”            、“description                          ”                          、“is_delete            ”            、“book_id        ”          。

--------------------

方式二:

通过从表查看主表                          ,查询人物为1的书籍信息

导入模块    ,先查询到人物编号为1的记录                ,在查询信息                         。

from book.models import PersonInfo
person = PersonInfo.objects.get(id = 1)
person.book

查看所在书籍的名称

person.book.name

------------------------------------------

关联查询的筛选

两种方式:

  同上                          ,筛选条件一种是通过主表查询从表        ,一种是通过从表查询主表                。

方式一:

实例:查询图书            ,要求人物中包含“顾里                          ”

同理                          ,首先需要导入模块            ,

from book.models import BookInfo1

进行查询:

BookInfo1.objects.filter(personinfo__name = "顾里")

  说明:使用到“关联模型表的小写                 ”是因为“BookInfo    ”是一个主表        ,默认包含了“personinfo                         ”     。如果表中含有外键                          ,那么它是一个从表                          。

-----------------

方式二:

  通过从表查看主表

实例:查询人物                 ,要求是编号为1的书籍中

首先    ,同理                         ,还是先导入模块                      ,之后由于是从表中所以内部包含了外键,直接通过包含外键的属性“book                      ”进行调用                    。

from book.models import PersonInfo
PersonInfo.objects.filter(book__id = 1)
声明:本站所有文章                    ,如无特殊说明或标注                          ,均为本站原创发布。任何个人或组织    ,在未征得本站同意时                ,禁止复制        、盗用                          、采集                 、发布本站内容到任何网站    、书籍等各类媒体平台                      。如若本站内容侵犯了原著者的合法权益                          ,可联系我们进行处理                        。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
cuda10.2 图灵架构(CUDA升级和版本切换方法)