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。

相关推荐
学运维的Kysan1 小时前
暑假运维学习打卡第二十九天8.29
学习
恋猫de小郭1 小时前
看懂大模型架构术语,帮助你理解目前常见的大模型开源架构
前端·人工智能·ai编程
yma161 小时前
通过提示词实现GitHub Pages 和 Nginx 双部署竟然这么简单?
前端
前端 贾公子1 小时前
第09章:上下文与记忆 (2)
java·服务器·前端
可乐鸡翅yeah_1 小时前
第三方接口对接 M3U8 流媒体排坑实战,解决外部服务商流兼容难题
前端·javascript·python·django·html·m3u8·m3u8在线
zbyyd1 小时前
Linux 进程间通信学习笔记
linux·笔记·学习
GoppViper1 小时前
RDF资源描述框架深度解析:语义Web的数据基石与实战逻辑
前端·数据库
郑州光合科技余经理2 小时前
本地生活服务系统:模块边界与结算字段怎么拆
java·开发语言·前端·后端·系统架构·uni-app·php
IT_陈寒2 小时前
Vue的嵌套组件竟然吃掉了我的事件?
前端·人工智能·后端
默_笙2 小时前
🏠 「LLM Notes」:我用 Next.js + Redis 给自己造了个笔记博客
前端·javascript