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。

相关推荐
Q***K55几秒前
前端构建工具
前端
LSL666_1 分钟前
1 概述及简单登录(不涉及数据库)
数据库·servlet
laocooon5238578866 分钟前
创建了一个带悬停效果的“我的个人主页“按钮
前端
2013编程爱好者1 小时前
Vue工程结构分析
前端·javascript·vue.js·typescript·前端框架
小满zs2 小时前
Next.js第十一章(渲染基础概念)
前端
fruge2 小时前
从第三方库中偷师:学习 Lodash 的函数封装技巧
学习
不羁的fang少年3 小时前
前端常见问题(vue,css,html,js等)
前端·javascript·css
q***06473 小时前
MySQL的UPDATE(更新数据)详解
数据库·mysql
change_fate3 小时前
el-menu折叠后文字下移
前端·javascript·vue.js
8***B3 小时前
MySQL性能
数据库·mysql