Django ORM模型之related_name作用

1,321 views次阅读
没有评论

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

定义模型

插入测试数据

apps_person表

Django

apps_book表

Django

编写views函数

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

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

返回一个person对象

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

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

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

related_name的作用

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

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

或者

Honest1y
版权声明:本站原创文章,由Honest1y于2019年04月09日发表,共计1337字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)