Django ORM模型之related_name作用

2019年4月9日10:14:34 发表评论 125 views

举例创建一个一对多的简单模型,说明related_name的作用

定义模型

插入测试数据

apps_person表

Django ORM模型之related_name作用

apps_book表

Django ORM模型之related_name作用

编写views函数

如果我们要查询一个作者出版了哪些书籍的话,即通过 一 查询出 多 的那方面。

第一步:先查询到作者的信息

返回一个person对象

第二步:查询person关联的所有书籍对象

默认返回的是一个 querydict 对象,你可以继续的根据情况来查询等操作

注意如果使用filter,返回的是一个set,必须先遍历,才具有book_set方法

related_name的作用

在实际项目中,我们使用最多的还是related_name。如果你觉得上面的定义比较麻烦的话,你也可以在定义主表的外键的时候,给这个外键定义好一个名称。要用related_name比如在Book表中:

那么实现上面的需求,可以使用:

或者

  • 微信小程序
  • 关注微信小程序
  • weinxin
  • 微信公众号
  • 关注微信公众号
  • weinxin
Wangxiao

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: