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

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

时间2025-06-20 16:42:37分类IT科技浏览5085
导读: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
c++指针写法(C++指针与其它复合类型)