#以下是示例一对一,多对多的表关系
class Department(models.Model):
#学院表,字段有id和name
d_id = models.AutoField(primary_key=True)
d_name = models.CharField(max_length=12)
def __str__(self):
return 'd_id=%s ,\n d_name=%s'%(self.d_id,self.d_name)
class Students(models.Model):
#学生表,字段有id和name 还有关联的外键表学院表
s_id = models.AutoField(primary_key=True)
s_name = models.CharField(max_length=10)
department = models.ForeignKey('Department',on_delete=models.CASCADE)# on_delete 代表级联删除 Django2.0版本必须写
#外键关联 一对多
class Stu_detail(models.Model):
#一对一表,与学生表形成一对一关系 与学生id形成一对一关系
s_id = models.OneToOneField('Students',on_delete=models.CASCADE)
age = models.IntegerField()
gender = models.BooleanField(default=1)
city = models.CharField(max_length=12)
class Course(models.Model):
#多对多,此为课程表与学生表形成多对多关系
c_id = models.AutoField(primary_key=True)
c_name = models.CharField(max_length=14)
student = models.ManyToManyField('Students')
```注:建立完成模型,要进行数据库的映射操作
python manage.py makemigrations
python manage.py migrate
7.一对一、多对多表关系实例
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。