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。

相关推荐
石小石Orz3 分钟前
星云SDK + 油猴:给LLM塑造肉身,陪伴你在每个网页
前端·人工智能
2601_963771377 分钟前
10 Best PHP Media CMS and Scripts for Web Creators in 2026
开发语言·前端·php
从此以后自律25 分钟前
MySQL 删除数据全方式详解
数据库·mysql
VaJoy35 分钟前
全面革新⚡️ Vue 3.6 项目工程的基础实现
前端·vue.js
苍何1 小时前
耗时 7 天,我们开源了腾讯 WorkBuddy 实战蓝皮书(建议收藏)
前端·后端
~kiss~1 小时前
LLM 的 层归一化(稳定训练) - Layer Normalization & RMSNorm
学习
青山木1 小时前
Redis 高可用的最后一公里:Cluster 分片、Gossip 与故障转移全流程
数据库·redis·后端·缓存
MartinYeung51 小时前
[论文学习]LLM-based AI Agent 安全威胁与防御系统性综述
人工智能·学习·安全
大家的林语冰1 小时前
😭 Electron 麻了,Deno 直接支持二进制应用,无需第三方桌面应用框架!
前端·javascript·node.js
蓝胖的四次元口袋1 小时前
JavaString知识梳理
数据库·oracle