models.py
ForeignKey():外键实际上是一种多对一的关系(主表是多,从表是一)
-必须参数:表名、on_delete,
on_delete指的是通过ForeignKey连接起来的对象被删除后,当前字段怎么变化。
on_delete常见选项有:
-models.CASCADE,对就对象删除后,包含ForeignKey的字段也会被删除
-models.PROTECT,删除时会引起ProtectedError
-models.SET_NULL,注意只有当当前字段设置null设置为True才有效,此情况会将ForeignKey字段设置为null
-models.SET_DEFAULT ,同样,当前字段设置了default才有效,此情况会将ForeignKey 字段设置为default 值
-moels.SET,此时需要指定set的值
-models.DO_NOTHING ,什么也不做
执行迁移后会生成两个表:
student表
grade表
根据外键(从表)查询
对象(students)代表的是表(student表)中外键id(s_grade_id)为某值(2)的数据
查询结果
输出是在grade表中id为2的班级中的同学