Django+Vue3前后端分离学习(三)(创建表的注意事项)

复制代码
class OADepartment(models.Model):
    name = models.CharField(max_length=100)
    intro = models.CharField(max_length=200)
    # leader
    leader = models.OneToOneField(OAUser, null=True, on_delete=models.SET_NULL, related_name='leader_department', related_query_name='leader_department')
    # manager
    manager = models.ForeignKey(OAUser, null=True, on_delete=models.SET_NULL, related_name='manager_departments', related_query_name='manager_departments')

models.OneToOneField()实现一对一的关联;

models.ForeignKey()实现一对多的关联;

models.ManyToManyField()实现多对多的关联。

related_name参数用于指定反向关系的名称。当你在一个模型中使用ForeignKey或OneToOneField等关系字段指向另一个模型时,Django会自动为你生成一个反向关系。这个反向关系的名称就是你在关系字段上指定的related_name。

related_query_name参数用于指定在查询时使用的名称。当你使用一个模型进行查询时,Django会自动为你生成相关的查询。这些查询的名称就是你在关系字段上指定的related_query_name。

相关推荐
AI成长日志17 分钟前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
xiaotao13118 分钟前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉24 分钟前
Electron桌面应用聊天(续)
前端·javascript·electron
科技小花27 分钟前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸29 分钟前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain31 分钟前
linux个人心得22 (mysql)
数据库·mysql
彧翎Pro1 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
_李小白1 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
小码哥_常1 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
阿里小阿希1 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql