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