django数据库数据关系一对一,一对多,多对多,超详解(添加,查询)

这篇博客详细介绍了Django中数据库关系的一对一、一对多和多对多的实现,包括添加和查询操作。特别强调了在命名字段时避免误导初学者,并给出了具体的模型代码和多对多关系的中间表生成规则。同时提供了一个测试文件test.py的注释说明。
摘要由CSDN通过智能技术生成

django数据库数据关系一对一,一对多,多对多,超详解(添加,查询)

查询了网上很多这方面的资料,看过很多介绍,但感觉都不是很全面,自己总结了一下,而且大部分介绍中字段名是采用某个关联模型类名的小写形式(这可能是习惯用法,目前本人算新人,不太了解),但自身认为,这样对于刚接触学习的人,容易产生一个误区,django正向,反向查询,引用的是什么名称(到底是内层直接采用的机制就是实例+目标模型类名小写,还是说根据模型中的具体字段名有关,显然应该是根据模型中的具体字段名有关)

所以下面介绍部分,并没有采用常规的命名方法

下面是模型代码:

# 学生个人信息
class Student(models.Model):
    name = models.CharField(max_length=100)
    # 与班级关联,一个学生只属于一个班级
    cid = models.ForeignKey(to="SchoolClass",related_name="student_test_set",on_delete=models.CASCADE)
# 学生个人附属信息    
class StudentInfo(models.Model):
    love = models.CharField(max_length=100)
    # 与学生关联,一个学生与学生个人附属信息应该是一对一的关系
    studentOneToOne = models.OneToOneField(to="Student",on_delet
  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值