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。

相关推荐
沉淅尘1 分钟前
Context Engineering: 优化大语言模型性能的关键策略与艺术
数据库·人工智能·语言模型
重生之绝世牛码8 分钟前
Linux软件安装 —— Elasticsearch集群安装(带密码验证)
大数据·linux·运维·数据库·elasticsearch·软件安装
肉小盾8 分钟前
wails + pure-admin(一)
学习
知南x9 分钟前
【华为昇腾DVPP/AIPP学习篇】(3) AIPP+DVPP的使用
学习·华为
敲敲千反田15 分钟前
redis哨兵和缓存
数据库·redis·缓存
LYS_061818 分钟前
寒假学习(6)(C语言6+模数电6)
c语言·学习·模数电基础
独泪了无痕18 分钟前
SQL数据类型转换:CAST详解及实践
数据库·sql·oracle
知识分享小能手19 分钟前
Oracle 19c入门学习教程,从入门到精通,Oracle 用户管理与权限分配 —— 语法详解与实战案例(13)
数据库·学习·oracle
DarkAthena20 分钟前
【GaussDB】GaussDB506版本A模式中的date类型
数据库·gaussdb
●VON20 分钟前
在 OpenHarmony 上打造智能 TodoList:基于 Flutter 的标签分类与动态过滤实践
学习·flutter·openharmony·布局·技术