💡
原文中文,约3000字,阅读约需7分钟。
📝
内容提要
本文介绍了Django中ForeignKey的定义及用法,强调其在多对一关系中的重要性。ForeignKey需要两个参数:关联模型类和on_delete选项。示例展示了如何在用户模型中使用ForeignKey关联自身,以及如何通过实例或ID新增和查询数据。同时提到related_name的使用,便于反向查询。
🎯
关键要点
- ForeignKey定义了一个多对一的关系,需要两个位置参数:模型相关的类和on_delete选项。
- 在用户模型中,可以使用ForeignKey关联自身,例如通过leader字段标识直属领导。
- ForeignKey字段在数据库中的名称会加上_id后缀,通常保持默认即可。
- 可以通过实例或ID两种方式新增和查询数据。
- 使用related_name可以方便地进行反向查询。
❓
延伸问答
什么是Django中的ForeignKey?
ForeignKey定义了一个多对一的关系,需要两个位置参数:模型相关的类和on_delete选项。
如何在用户模型中使用ForeignKey关联自身?
可以在用户模型中使用leader字段标识直属领导,模型类写成'self'来关联自身。
ForeignKey字段在数据库中的名称是什么?
ForeignKey字段在数据库中的名称会加上_id后缀,例如leader字段在数据库中为leader_id。
如何通过实例或ID新增和查询数据?
可以通过实例或ID两种方式新增数据,例如使用Password.objects.create()方法,查询时使用Password.objects.get()。
related_name在ForeignKey中有什么作用?
related_name可以方便地进行反向查询,允许通过定义的值进行查询,例如h.users.all()。
ForeignKey的on_delete选项有什么作用?
on_delete选项定义了关联表数据删除时的动作,例如使用models.CASCADE表示级联删除。
🏷️
标签
➡️