当前位置: 七九推 > IT编程>脚本编程>Python > Django使用详解:ORM 的反向查找(related_name)

Django使用详解:ORM 的反向查找(related_name)

2023年01月25日 Python 我要评论
先定义两个模型,一个是a,一个是b,是一对多的类型。class a(models.model): name= models.charfield('名称', max_length=32)class b

先定义两个模型,一个是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')

以上这篇django使用详解:orm 的反向查找(related_name)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持七九推。

(0)
打赏 微信扫一扫 微信扫一扫

相关文章:

  • Flask入门之完整项目搭建

    Flask入门之完整项目搭建

    一、创建虚拟环境  1,新建虚拟环境  cmd中输入:mkvirtualenv 环境名  2,在虚拟环境安装项目运行所需要的基本模块pip install fl... [阅读全文]
  • Python产生Gnuplot绘图数据的方法

    Python产生Gnuplot绘图数据的方法

    gnuplot的绘图可以直接选取文件绘图,文件格式要求如下:x1 y1x2 y2...... xn yn在python中利用文件操作的write方法可以非常方便... [阅读全文]
  • python安装/卸载模块方法步骤详解(附详细图解)

    以pygame模块举例1,通过pycharm导入(1)直接点击install package pygame就可以出现以下情况则安装正确如果出现错误可以试试把pip文件升级到最新(2…

    2023年01月26日 脚本编程
  • python如何更新包

    python如何更新包

    python安装新包,pip是很好用的安装工具。pip list 可以查询所有已安装的包和版本。怎么知道本地安装包的版本是否有可以更新的新版本呢?通过pip l... [阅读全文]
  • Python数据持久化shelve模块用法分析

    Python数据持久化shelve模块用法分析

    本文实例讲述了Python数据持久化shelve模块用法。分享给大家供大家参考,具体如下:一、简介在python3中我们使用json或者pickle持久化数据,... [阅读全文]
  • python如何在pygame中设置字体并显示中文详解

    python如何在pygame中设置字体并显示中文详解

    一、查看可用字体import pygameprint(pygame.font.get_fonts())二、设置字体1.使用系统字体self.font=pygam... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2023  七九推 保留所有权利. 粤ICP备17035492号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com