有些类的外键用了related_name有的没用。什么时候应该用,什么时候不必用?

有些类的外键用了related_name有的没用。什么时候应该用,什么时候不必用?

​address里用了,其他类中没用

在这里输入代码,可通过选择【代码语言】突出显示

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕燕燕 2020-12-11 15:33:19

同学,你好!当一个表和其它表有关联关系时,需使用related_name,比如用户的地址信息关联自用户,以User和UserAddress两个类为例,从用户地址信息查询用户,称为正向查询,UserAddress.object.get().user;从用户查询用户地址信息,称为反向查询,User.objects.get().user_address.all()

http://img1.sycdn.imooc.com//climg/5fd31cb2095ede9c12180405.jpg

http://img1.sycdn.imooc.com//climg/5fd31cdc09ba14ab10570279.jpg

加油,祝学习愉快~~~


  • 提问者 慕粉1504263447 #1

    http://img1.sycdn.imooc.com//climg/5fd32696091992ce11250457.jpg这个用户详细信息表跟用户基础信息表也有关联,为什么没用relatedname呢?


    2020-12-11 15:58:55
  • 好帮手慕燕燕 回复 提问者 慕粉1504263447 #2

    同学,你好!ForeignKey针对一对多的关联关系,一个用户可以有多个地址;用户详细信息表与用户表是一对一的关系,一个用户只对应一个详细信息,此处外键关联使用的是OneToOneField,即一对一。

    加油,祝学习愉快~~~

    2020-12-11 20:13:03
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师