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。

相关推荐
Purple Coder3 小时前
BMS学习经验
学习
小短腿的代码世界3 小时前
Qt 股票订单撮合引擎:高频交易系统的核心心脏
开发语言·数据库·qt·系统架构·交互
不会敲代码13 小时前
手写 Zustand:三十分钟带你搞懂状态管理库的核心原理
前端·javascript·源码
神奇的程序员3 小时前
重构了自己5年前写的截图插件
前端·javascript·架构
经济元宇宙3 小时前
摄影培训行业百科:机构选择与学习路径全解析
大数据·人工智能·学习
JosieBook4 小时前
【数据库】时序数据库选型指南:从数据模型到大模型智能分析
数据库·时序数据库
じ☆冷颜〃4 小时前
实分析与测度论、复分析、傅里叶分析、泛函分析、凸分析概述.
笔记·学习·数学建模·拓扑学·傅立叶分析
小猿姐4 小时前
Clickhouse Kubernetes Operator 实测:哪种方案更适合生产?
运维·数据库·kubernetes
UXbot4 小时前
一人独立交付 UI + 前端:AI 驱动 UI 设计工具的五大功能模块深度评测
前端·低代码·ui·设计模式·交互
星夜夏空994 小时前
STM32单片机学习(10)——GPIO输入
stm32·单片机·学习