(一)表关系实现
表关系主要分为三种:一对多,一对一,多对多。django中,模型通过特殊的字段对表之间进行关联。一对多的表关系在数据库中是通过外键实现的,在模型中是通过ForeignKeyField字段实现的;一对一的表关系在数据库中是通过外键+唯一键实现的,在模型中是通过OneToOneField字段实现的;多对多的表关系在数据可中是通过关联表(外键+联合唯一)实现的,在模型中通过ManyToManyField字段实现的。
下面建立模型student,student_detail,grade,course,Enroll,并为这五张表实现表关系,其中,student和student_detail是一对一的关系,gradet和studen是一对多的关系,student和course是多对多的关系,Enroll是中间表。
(二)关联表的数据关系操作
2.1 一对多
2.1.1 正向
通过有外键字段的模型对外键字段进行操作,如通过student模型对grade字段进行操作。
-
增
(1)通过属性(直接将班级的一个对象赋值给student对象的grade属性)
在学生表中增加了一条姓名为吴昕的数据,同时在班级表中增加了一条python基础班的数据,将吴昕分在python基础班中。
这是班级表的数据信息。
这是添加之后的学生数据表的信息,吴昕的班级号为3,再看班级表信息,id为3的正是Python基础班。
(2)通过主键(将郑爽分到python框架班)