表关系有一对一, 一对多,多对多
以下是对应关系的例子
学院表跟学生之间就是一对多, 一个学院可以有很多学生
学生跟学生详情之间就是一对一,一个学生就只有一个学生的信息详情
课程跟学生之间就是多对多,很多课程有很多学生
# 表关系
# 学院表
class Department(models.Model):
d_id = models.AutoField(primary_key=True)
d_name = models.CharField(max_length=30)
# 学生表
class Student(models.Model):
s_id = models.AutoField(primary_key=True)
s_name = models.CharField(max_length=30)
# 外键 一对多 关系
department = models.ForeignKey('Department', on_delete=models.CASCADE)
# 学生详情表
class Stu_detail(models.Model):
# 一对一 关系
student = models.OneToOneField('Student', on_delete=models.CASCADE)
s_age = models.IntegerField()
s_note = models.TextField()
s_phone = models.CharField(max_length=20)
# 课程表
class Course(models.Model):
c_id = models.AutoField(primary_key=True)
c_name = models.CharField(max_length=30)
# 多对多 关系 django会自动创建一个中间表
student = models.ManyToManyField('Student')